Implement lifecycle logging
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 487
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 13
Description
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](https://fluo.apache.org/docs/fluo/1.2/administration/manage-applications#debugging-applications).
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.
Contributor guide
Research direction
No source files or tests are named. Start by reviewing existing logging for write-ahead logs, tablet events, and FATE or bulk-import operations across the master, tserver, and GC, then compare the proposed user-manual treatment with Fluo’s debugging documentation. Done means an agreed scope for logical logger names, lifecycle coverage, consistent messages, and corresponding Accumulo user-manual documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems, documentation, observability-sre
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100