Geoff Reedy created TINKERPOP-1252: -------------------------------------- Summary: Failed Neo4j transaction can leave Neo4jTransaction in inconsistent state Key: TINKERPOP-1252 URL: https://issues.apache.org/jira/browse/TINKERPOP-1252 Project: TinkerPop Issue Type: Bug Components: neo4j Affects Versions: 3.1.1-incubating, 3.2.0-incubating Reporter: Geoff Reedy Priority: Blocker
For some transaction conflicts Neo4j will throw a DeadlockDetectedException from neo4japi.Neo4jTx#close(). When this happens, the thread that suffered this problem may experience a NotInTransactionException on any further attempts to interact with the graph The problem starts when the abnormal termination of neo4japi.Neo4jTx#close() prevents tp3.Neo4jTransaction's threadLocalTx.remove() from being called. The calling thread is now associated with a closed neo4japi.Neo4jTx. Now tinkerpop believes that the thread already has an open transaction but neo4j considers it to be closed. I've marked as blocker since there isn't any way to work around the problem once it has occurred. I know that a code freeze for 3.2.0 is in effect now or shortly, but hopefully it can be thawed enough to put this in. The fix is simple and expect to see a pull request shortly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)