tinkerpop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TINKERPOP-1252) Failed Neo4j transaction can leave Neo4jTransaction in inconsistent state
Date Thu, 07 Apr 2016 18:39:25 GMT

    [ https://issues.apache.org/jira/browse/TINKERPOP-1252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15230794#comment-15230794

ASF GitHub Bot commented on TINKERPOP-1252:

GitHub user greedy opened a pull request:


    Fix TINKERPOP-1252 (Supersedes #288)

    Version of #288 targeting tp31

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:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #289
commit f56e597dd9fc061a26da9319f67674e77c2de810
Author: Geoff Reedy <geoff@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

View raw message