[Neo4j] Node Id generation deadlock

Cres cresfy at gmail.com
Wed Nov 2 19:30:23 CET 2011


Hi David,

Thank you very much for your response. I can see now what caused the
deadlock.

However, I'm not really sure how I can solve this problem efficiently - as
you mentioned, your proposed solution will effectively serialize my
transactions. Unfortunately, it'd be very difficult for me to split each
transaction into two in the application I'm currently working on (the code I
posted in the first message was just a sample code I wrote to explain the
problem more clearly) since there are many transactions which are "higher up
the chain" and are not really nearby the node factory, which is where I want
to use your lock-grabbing technique.

I thought about creating a nested transaction just for the update for the
factory node's "idseq" property, after which I'd commit (and thereby release
the RW lock I grabbed when removing the non-existing property), but I now
realize it can't work because nested transactions aren't "pure nested" and
so the lock would remain until the parent transaction commits...

Is there any way I could possibly release the lock I have for the node
without committing the entire transaction? And since I presume such a way
doesn't exist, do you happen to know of any other possible solutions for my
problem?

Thanks again,
Ran.

--
View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/Node-Id-generation-deadlock-tp3473118p3474747.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.


More information about the User mailing list