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)