tokuDb 设置超时语句的时间

tokuDb setting for time to timesout a statement

在带有 tokuDb 引擎的 mariadb table 中;我遇到了以下错误 - 在删除语句中;同时有后台插入加载,反之亦然。

Lock wait timeout exceeded; try restarting transaction

tokuDb 是否使用可以更新的设置来确定它在语句超时之前等待多长时间?

我在 tokuDb 文档中找不到答案。 maria varaible 仍然是默认值:'lock_wait_timeout', '31536000' -- 但我的超时在不到一年的时间里又回来了。负载测试期间超时;而且我还没有在错误中发现时间值——但感觉就像几秒钟;在超时前最多几分钟。

谢谢, 布伦特

TokuDB 有自己的 timeout variabletokudb_lock_timeout,它以毫秒为单位,默认值 4000(4 秒),这符合您的观察。在session和global级别都可以修改,也可以在.cnf文件中配置。

请记住,当您为具有两个范围的变量设置全局值时,它只会影响未来的会话(连接),而不影响现有的会话。

-- for the current session
SET SESSION tokudb_lock_timeout = 60000;

-- for future sessions
SET GLOBAL tokudb_lock_timeout = 60000;