JanusGraph / JanusGraph/janusgraph

[Feature request] Transaction tracking in debug logs

Open
#637 0 comments 1 reaction 0 assignees View on GitHub
kind/enhancement
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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.