任何人都不知道如何解决neo4j中的死锁。异常的详细信息
Neo4j.Driver.V1.ClientException:'拉动未消耗时出错 session.run将记录记录到会话的内存中:ForsetiClient [2]无法 在NODE(1122)上获得ExclusiveLock {owner = ForsetiClient [4]},因为 该锁的持有者正在等待ForsetiClient [2]。等待 list:ExclusiveLock [客户端[4]等待[2]]'
答案 0 :(得分:1)
除了@JohnB提到的deadlock article,还有documentation on deadlocks and how to handle them。
通常,死锁是由于不同事务之间的竞争状况导致的,因此您的代码可以仅重试接收到DeadlockDetectedException
的事务。有关重试循环的示例,请参见上面链接的文档。 您还应该考虑让每个事务稍微重试重试间隔,以最大程度地减少多个事务大约在同一时间重试的可能性。