写入报错

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.1
【复现路径】insert update
【遇到的问题:问题现象及影响】TTL manager has timed out, pessimistic locks may expire, please commit or rollback this transaction
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

看错误是事务超时没提交。什么场景下提示这个异常?

错误信息“TTL manager has timed out, pessimistic locks may expire, please commit or rollback this transaction”表示在使用悲观事务模式时,事务的执行时间超过了设定的TTL(Time-to-Live)时间限制。TTL是指事务或锁的生存时间上限,默认情况下,悲观事务的TTL时间为1小时。如果事务执行时间超过这个限制,事务将无法提交,可能导致悲观锁过期。

解决方案如下:

  1. 优化应用逻辑:首先,确认应用程序的逻辑是否可以优化。例如,大型事务可能会触发TiDB的事务大小限制,可以将其拆分为多个小事务来执行。
  2. 调整相关参数:如果应用逻辑无法进一步优化,可以适当调整TiDB的相关参数以满足应用的事务逻辑需求。例如,可以调整performance.max-txn-ttl参数来延长事务的TTL时间。
    以上是AI助手反馈:

下面是官方解决方法
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-lock-conflicts#ttl-manager-has-timed-out

看下写入的逻辑,事务写入超时

1 个赞

悲观事务超时。