JanusGraph / JanusGraph/janusgraph
Transaction commits sensitive to system time differences of janusgraph clients
- 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
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