c# - Neo4j.Driver.V1.ClientException 死锁
问题描述
任何人都知道如何解决 Neo4j 中的死锁。异常的详细信息
Neo4j.Driver.V1.ClientException:'在会话中将未使用的 session.run 记录拉入内存时出错:ForsetiClient[2] 无法在 NODE(1122) 上获取 ExclusiveLock{owner=ForsetiClient[4]},因为该锁的持有者正在等待 ForsetiClient[2]。等待列表:ExclusiveLock[客户端[4]等待[2]]'
解决方案
除了@JohnB 提到的死锁文章之外,还有关于死锁以及如何处理它们的文档。
通常,死锁是不同事务之间竞争条件的结果,因此您的代码可以重试收到DeadlockDetectedException
. 有关重试循环的示例,请参阅上面链接的文档。您还应该考虑让每个事务稍微随机化重试间隔,以尽量减少多个事务大约同时重试的可能性。
推荐阅读
- ios - 如何更改 CNContactPickerViewController 导航栏的颜色?
- java - 如何在不更改原始文件的情况下打开 XLSX 并另存为?
- c++ - 在 sort() 之后对 Struct 的特定成员使用 sort()
- php - 我想使用 Facebook Api
- cloudera - 如何禁用 cloudera 包裹自动分发到所有主机,或者有没有办法为所有主机设置一个 repo?
- vaadin - 显示复杂对象列表并发出事件 int vaadin 14 的最佳方式
- java - 使用 .equals() 比较枚举值会替换正在比较的字符串
- vue.js - VueJS中的递归方法
- sublimetext3 - 在 Sublime Text 4 中使用混合空格和制表符缩进
- c# - 自定义编译时版本控制方案和运行时代码更改