apache / apache/accumulo

Explore consistently formatting all ids in Accumulo logs.

Open
#2,495 16 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.