max-txn-time-use参数

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 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
单位:毫秒
超过此时间的事务只能执行提交或者回滚,提交不一定能够成功。
  1. 不是
  2. 应该是不需要配置了,之后的版本看起来常量这里配置的时间足够长了
    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
  3. 请问具体遇到的问题是什么?为什么需要修改这个参数?
1 个赞

在写tidb开发规范呢,然后了解到这个参数了,所以想研究下

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。