Explore consistently formatting all ids in Accumulo logs.
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 487
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 13
Description
Accumulo has multiple different id types like table ids, FATE transaction ids, namespace ids, external compactions ids, scan session ids, etc. These ids are logged. For logging fate transaction ids an attempt was made to logs these very consistently by always calling [this function](https://github.com/apache/accumulo/blob/4dc8d3effc9eeccd514317b3028bc10e1cf71c22/core/src/main/java/org/apache/accumulo/fate/FateTxId.java#L55) when logging them. This method consistently formats the id and includes a type. The type is nice for two reasons, first it make the ID easily distinguishable when scanning logs. Second its nice to be able to grep a log just for the TYPE and see all log messages that have a FATE transaction id in them.
This concept could be expanded to all ID types in Accumulo. We could consistently format type and id for all ids in Accumulo. We could logs ids like `FATE[123]`, `TABLE_ID[456]`, `ECID[abd]`, `NAMESPACE_ID[xyz]`, etc in the logs. Seeing `TABLE_ID[456]` in a log message is much better than seeing `456` in the log, especially for logs messages where its not clear what `456` is.
Contributor guide
Research direction
Start with core/src/main/java/org/apache/accumulo/fate/FateTxId.java and its formatting method, then inventory the logging sites for table, FATE transaction, namespace, external compaction, and scan session IDs. The issue is done when the relevant ID types are consistently formatted with a recognizable type and value in Accumulo logs, with appropriate coverage across those logging sites.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100