JanusGraph/janusgraph

Transaction commits sensitive to system time differences of janusgraph clients

Open

#1,552 opened on May 5, 2019

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Java (4,985 stars) (1,137 forks)batch import
area/corehelp wanted

Description

Reported by Shrikant Pachauri on the user list and reproduced and investigated in more detail by HadoopMarc: 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