JanusGraph / JanusGraph/janusgraph
[Feature request] Transaction tracking in debug logs
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
With Titan0 and Titan1's autoStartTxn feature it becomes hard to trace the origin of the transaction. This results is excessive eviction messages around stale transactions with were started but never explicitly closed and sometimes it also causes LockTimeoutException with BerkleyDB as backend.
Suggestion: When debug logs are enabled, then JanusGraph should log the origin of the newTransaction call chain, this would surely help in closing down such hard to find dangling transactions. Also would be good to have an ID for each JanusTx I think it's null as of now.
Contributor guide
Research direction
Start at the newTransaction call chain and the debug logging around autoStartTxn, then trace how JanusTx instances are created and represented. Define how the transaction origin and a stable transaction ID should appear in debug logs, including dangling transactions and eviction messages. Done means debug logs make new transaction origins and individual JanusTx instances traceable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100