JanusGraph / JanusGraph/janusgraph

Transaction commits sensitive to system time differences of janusgraph clients

Open
#1,552 0 comments 0 reactions 0 assignees View on GitHub
area/core help wanted
Dominant language
Java
Stars
5.8k
Forks
1.2k
Avg merge
13h 53m
Merged PRs (30d)
6

Description

[Reported by Shrikant Pachauri on the user list and reproduced and investigated in more detail by HadoopMarc:](https://groups.google.com/forum/#!topic/janusgraph-users/1W-7_qpNu0U) if two JanusGraph clients on two different hosts see a different system time, transaction commits from the delayed client can fail silently if the normal client did any commits during the time difference. More strikingly, committed transactions from the delayed client can be rolled-back if the normal client does any transaction before the delayed client caught up in time.
This relates to the specific case where two JanusGraph clients try to modify the same property on the same vertex. The ref docs in 31.1.1.2 indeed state that this can "result in a conflict", so maybe this behaviour is only to be expected. But even then silently ignoring transaction commits is unwanted. Also, the impact of system time seems to deserve some attention on the ref docs.

Contributor guide

Open the contributing guide

Research direction

Start with the linked user-list report and the reference documentation section 31.1.1.2, then investigate the described transaction behavior when clients have different system times. Reproduce the conflicting same-property updates and determine how silent commits or rollbacks should be handled; done means the behavior is corrected or explicitly documented, including the clock-skew impact.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.