为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】生产环境 5.1
在官方文档中看到了如下这句话:
txn takes too much time。事务太长时间(超过 590s)没有提交,准备提交的时候报该错误。可以通过调大 [tikv-client] max-txn-time-use = 590 参数,以及调大 GC life time 来绕过该问题(如果确实有这个需求)。通常情况下,建议看看业务是否真的需要执行这么长时间的事务。
但是查找这个参数的时候只看到了3.0版本有这个参数的介绍?后面没有找到这个参数,是废弃了吗?
调大 [tikv-client] max-txn-time-use = 590 参数?这个在哪里修改呢?
应该是在tidb配置文件中设置
https://docs.pingcap.com/zh/tidb/v5.1/tidb-configuration-file#tikv-client
但是查了4.0开始的配置文件说明和git中的详细配置示例,确实都已经没有关于这个配置的说明了。
1 个赞
是不是替换成了:
max-txn-ttl
单个事务持锁的最长时间,超过该时间,该事务的锁可能会被其他事务清除,导致该事务无法成功提交。
默认值:3600000
单位:毫秒
超过此时间的事务只能执行提交或者回滚,提交不一定能够成功。
- 不是
- 应该是不需要配置了,之后的版本看起来常量这里配置的时间足够长了
https://github.com/pingcap/tidb/commit/6faec865c0a2ea49e7d16e29fae29cf91370a5f0
// MaxTxnTimeUse is the max time a Txn may use (in ms) from its begin to commit.
// We use it to abort the transaction to guarantee GC worker will not influence it.
const MaxTxnTimeUse = 24 * 60 * 60 * 1000 - 请问具体遇到的问题是什么?为什么需要修改这个参数?
1 个赞
在写tidb开发规范呢,然后了解到这个参数了,所以想研究下
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。