Hi Michael,

It was a pleasure meeting you in person yesterday in Graph Connect! 

As we discussed briefly yesterday, we are having troubles with Deadlocks. 
Our environment and Neo4j usage is as below:
Our Python 3 programs with Py2neo version 3 on a 24 CPU Linux CentOS 
machine are using 16 processes sending transactions of up to 8 Cypher 
statements in each transaction to Neo4j 3.0.3. as fast as we can at about 
up to 1,000 Nodes/Relationships totally from 16 transactions concurrently.

According to neo4j.log and debug.log below, LockClient 31853 is holding 
NODE(50) and waiting for NODE(5) while LockClient 31854 is holding NODE(5) 
and waiting for NODE(50). In this Neo4j instance we have 99260 Nodes and 
779043 Relationships. Is there a way to print which Neo4j Nodes are 
involved in a deadlock? (If we know this, we may figure out how to avoid 
this deadlock situation.)


neo4j.log:
2016-10-13 07:36:10.599+0000 ERROR Client triggered an unexpected error 
[Deadlock
Detected]: LockClient[25349] can't wait on resource RWLock[NODE(50), 
hash=868194322] since => LockClient[25349] <-[:HELD_BY]- RWLock[NODE(48), 
hash=485147782] <-[:WAITING_FOR]- LockClient[25350] <-[:HELD_BY]- 
RWLock[NODE(50), hash=868194322]. See debug.log for more details, reference 
2c316c0c-68e3-46de-82d0-33b377bfa38c.

debug.log
2016-10-13 07:46:45.166+0000 ERROR [o.n.b.v.r.i.ErrorReporter] Client 
triggered an unexpected error [DeadlockDetected]: LockClient[31853] can't 
wait on resource RWLock[NODE(5), hash=1284472530] since => 
LockClient[31853] <-[:HELD_BY]- RWLock[NODE(50), hash=1715435838] 
<-[:WAITING_FOR]- LockClient[31854] <-[:HELD_BY]- RWLock[NODE(5), 
hash=1284472530]. See debug.log for more details, reference 
a9f48e66-7539-4d01-a265-077feb38ffb6.2016-10-13 07:46:45.166+0000 ERROR 
[o.n.b.v.r.i.ErrorReporter] Client triggered an unexpected error 
[DeadlockDetected]: LockClient[31853] can't wait on resource 
RWLock[NODE(5), hash=1284472530] since => LockClient[31853] <-[:HELD_BY]- 
RWLock[NODE(50), hash=1715435838] <-[:WAITING_FOR]- LockClient[31854] 
<-[:HELD_BY]- RWLock[NODE(5), hash=1284472530], reference 
a9f48e66-7539-4d01-a265-077feb38ffb6. LockClient[31853] can't wait on 
resource RWLock[NODE(5), hash=1284472530] since => LockClient[31853] 
<-[:HELD_BY]- RWLock[NODE(50), hash=1715435838] <-[:WAITING_FOR]- 
LockClient[31854] <-[:HELD_BY]- RWLock[NODE(5), 
hash=1284472530]org.neo4j.kernel.DeadlockDetectedException: 
LockClient[31853] can't wait on resource RWLock[NODE(5), hash=1284472530] 
since => LockClient[31853] <-[:HELD_BY]- RWLock[NODE(50), hash=1715435838] 
<-[:WAITING_FOR]- LockClient[31854] <-[:HELD_BY]- RWLock[NODE(5), 
hash=1284472530]        at 
org.neo4j.kernel.impl.locking.community.RagManager.checkWaitOnRecursive(RagManager.java:198)
        at 
org.neo4j.kernel.impl.locking.community.RagManager.checkWaitOnRecursive(RagManager.java:225)
        at 
org.neo4j.kernel.impl.locking.community.RagManager.checkWaitOn(RagManager.java:165)
        at 
org.neo4j.kernel.impl.locking.community.RWLock.acquireWriteLock(RWLock.java:375)
        at 
org.neo4j.kernel.impl.locking.community.LockManagerImpl.getWriteLock(LockManagerImpl.java:55)
        at 
org.neo4j.kernel.impl.locking.community.CommunityLockClient.acquireExclusive(CommunityLockClient.java:142)

Thanks,
Ray

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to