InnoDB:SHOW ENGINE STATUS截断死锁部分

时间:2016-03-29 18:49:18

标签: mysql sql hibernate innodb

最近我遇到了解决死锁的问题,因为引擎日志没有显示所涉及的完整查询。 Hibernate会生成一些非常长的查询,在我关注的两种情况下,InnoDB在打印线程信息(以“MySQL thread id ...”开头的行)和查询时将自身限制为1024个字符他们自己(从......中选择)。

在调查此问题时,我发现bug report抱怨同一个问题,该问题涉及patch,应该允许我们解决此问题。但是,我被告知在5.0或5.1中没有名称为max_query_len的DB变量。这对我来说很奇怪,因为旧的限制是300个字符(我看到的不止这些)但它似乎实际上不是可配置的。我的问题是这实际发生了什么 - 是否有一个后来的补丁,我没有看到这改变了修复? 5.0.12的更改日志确实表明该问题已得到修复:

"SHOW ENGINE INNODB STATUS now can display longer query strings. (Bug #7819)"

但我觉得它实际上并不存在。我们可能在发生死锁时运行的最旧版本是5.0.56,所以我们至少应该有5.0.12修复 - 我们确实有更新的版本在运行,所以后来的版本可能已经覆盖了修复程序截断的查询可能已被应用。是否有人知道这里发生的事情会导致打印件的限制再次降低?

0 个答案:

没有答案