You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/04/07 06:08:25 UTC
[jira] [Commented] (TINKERPOP-1252) Failed Neo4j transaction can
leave Neo4jTransaction in inconsistent state
[ https://issues.apache.org/jira/browse/TINKERPOP-1252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229652#comment-15229652 ]
ASF GitHub Bot commented on TINKERPOP-1252:
-------------------------------------------
GitHub user greedy opened a pull request:
https://github.com/apache/incubator-tinkerpop/pull/288
Fix TINKERPOP-1252
It is now ensured that if there was any problem committing or rolling
back a transaction then the ThreadLocal binding to a Neo4j transaction
will be cleared.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/greedy/incubator-tinkerpop TINKERPOP-1252
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-tinkerpop/pull/288.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #288
----
commit 900e9b59ac2cd0d6e4acead65fed84102a488b84
Author: Geoff Reedy <ge...@programmer-monk.net>
Date: 2016-04-07T04:02:12Z
Fix TINKERPOP-1252
It is now ensured that if there was any problem committing or rolling
back a transaction then the ThreadLocal binding to a Neo4j transaction
will be cleared.
----
> 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)