在一个带有tokuDb引擎的mariadb表中,我记录了下面的错误--要么是在delete语句上;要么是在后台insert load,反之亦然。
Lock wait timeout exceeded; try restarting transaction
tokuDb是否使用可以更新的设置来确定在语句超时之前等待多长时间?
我在tokuDb文档中找不到答案。maria varaible仍然是它的默认值:'lock_wait_ timeout ','31536000‘--但是我的超时时间在不到一年的时间里又回来了。超时是在负载测试期间到来的;我还没有在错误中发现时间值-但感觉像是几秒钟;在抛出超时之前最多只有几分钟。
谢谢,布伦特
发布于 2017-03-05 19:07:42
TokuDB有自己的timeout variable,tokudb_lock_timeout,它以毫秒为单位,具有默认值4000 (4秒),这符合您的观察结果。它可以在会话和全局级别上进行修改,也可以在.cnf文件中进行配置。
请记住,当您为具有两个作用域的变量设置全局值时,它只会影响未来的会话(连接),而不会影响现有的会话(连接)。
-- for the current session
SET SESSION tokudb_lock_timeout = 60000;
-- for future sessions
SET GLOBAL tokudb_lock_timeout = 60000;https://stackoverflow.com/questions/42605561
复制相似问题