首页 > 解决方案 > Neo4j.Driver.V1.ClientException 死锁

问题描述

任何人都知道如何解决 Neo4j 中的死锁。异常的详细信息

Neo4j.Driver.V1.ClientException:'在会话中将未使用的 session.run 记录拉入内存时出错:ForsetiClient[2] 无法在 NODE(1122) 上获取 ExclusiveLock{owner=ForsetiClient[4]},因为该锁的持有者正在等待 ForsetiClient[2]。等待列表:ExclusiveLock[客户端[4]等待[2]]'

标签: c#neo4jdeadlock

解决方案


除了@JohnB 提到的死锁文章之外,还有关于死锁以及如何处理它们的文档。

通常,死锁是不同事务之间竞争条件的结果,因此您的代码可以重试收到DeadlockDetectedException. 有关重试循环的示例,请参阅上面链接的文档。您还应该考虑让每个事务稍微随机化重试间隔,以尽量减少多个事务大约同时重试的可能性。


推荐阅读