Skip to content

Implement lifecycle logging #1316

@keith-turner

Description

@keith-turner

Following the lifecycle of certain events in Accumulo via documented logical loggers would be really nice. For example it would be nice to be able to follow the lifecycle of a write ahead log across the master, tserver, and GC using a logger name like org.apache.accumulo.log.wal that does not correspond to any class. These logical loggers could be documented in the Accumulo user manual, like Fluo does.

Could have life cycle logging for the following events to start with

  • Write ahead logs
  • Tablet events (like assignment, loading, compaction, scan, update, unload, recovery, etc). All tablet events could be logged under org.apache.accumulo.log.tablet. Something like scan could be logged under org.apache.accumulo.log.tablet.scan at trace allowing a user to turn on trace scanning for scans only.
  • FATE operations like bulk import could log everything related to bulk import in client, master, and tserver under org.apache.accumulo.log.bulk.

One way to implement this would be to create class with static methods for each life-cycle we want to log. For example all logging of tablet lifecycle events would be done in a single class via static methods. The advantage of this approach is that it brings all of the logging together in one place in the code which will lead to more consistent log messages.

Most existing log messages should not follow this approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions