我想看一下 Derby 的数据库日志;我不是指 derby.log 文件,我指的是 derby.log 文件中的二进制日志文件/[database name]/log
目录。有没有一种工具可以以人类可读的格式显示它们?
我询问的原因是我正在使用 Apache Derby(版本 10.6.1.0)在 Maven Failsafe 插件的帮助下进行自动集成测试。一些测试执行锁定记录的事务代码(OpenJPA 用作 ORM 工具)。有时,按照一定的测试顺序,测试会永远等待锁定,从而导致构建挂起。单独运行时相同的测试会通过。最奇怪的是每次测试在运行之前删除、创建并填充所有表,因此很难看出这种行为的明显原因。
通过将失败的测试放入单独的故障安全执行中,该问题得到了解决;尽管如此,我还是想阅读日志以了解发生了什么。
确实存在这样的工具,但它们的级别相当低。您可以在这里找到它们:https://issues.apache.org/jira/browse/DERBY-5195
诊断此类锁定问题非常具有挑战性;希望阅读日志能为您提供一些线索。日志仅包含以下信息update活动,所以你需要推断read使用其他方式进行的活动。
您可以尝试的另一件事是看看是否可以增强测试过程以包括 lock_table 数据的调用(http://db.apache.org/derby/docs/10.8/devguide/cdevconcepts50894.html)。
可能是:(a) 你的 ORM 工具运行的代码比你想象的更多/不同,或者 (b) 你的 ORM 工具没有按照你想象的方式表达事务边界。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)