Deadlock 知道什么会导致ReentrantLock死锁定向数据库吗?

Deadlock 知道什么会导致ReentrantLock死锁定向数据库吗?,deadlock,orientdb,Deadlock,Orientdb,我的Java应用程序定期挂起,它停止的位置显示在附带的屏幕截图中 上下文:使用Json数据文档,I: -使用文档插入/更新顶点 -迭代了解关系 -对于每个关系,创建从当前顶点到相关顶点的边 -在日志文档中创建一个条目以跟踪正在发生的事情 死锁通常发生在流的底部附近。这是图片 感谢您的帮助 Patrick一旦记录死锁,任何访问它的尝试都会在日志中产生以下错误:2015-03-30 16:31:39:197严重的内部服务器错误:com.orientechnologies.common.concur.

我的Java应用程序定期挂起,它停止的位置显示在附带的屏幕截图中

上下文:使用Json数据文档,I: -使用文档插入/更新顶点 -迭代了解关系 -对于每个关系,创建从当前顶点到相关顶点的边 -在日志文档中创建一个条目以跟踪正在发生的事情

死锁通常发生在流的底部附近。这是图片

感谢您的帮助


Patrick

一旦记录死锁,任何访问它的尝试都会在日志中产生以下错误:2015-03-30 16:31:39:197严重的内部服务器错误:com.orientechnologies.common.concur.OTimeoutException:无法将记录锁定2000毫秒。记录似乎被其他记录死锁[OneWorkProtocolHttpDB]这并不意味着这是一个死锁,但可能该命令花费了太多的时间来完成。尝试在客户端上使用此设置扩大超时:-Dstorage.record.lockTimeout=10000。默认值是2000。不幸的是,我让它等了20分钟才杀死它。它就在不安全的公园里。我的直觉是,在调用开始之前,基本记录的提交没有完成/完成,这会在该顶点上创建出站边缘,从而创建条件。我使用的所有调用都应该是同步的,但当我在事务中执行时,调用都会成批进行,直到调用graph.commit,此时我无法看到操作在幕后执行的方式。希望txis内的操作命令得到严格执行。