为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
版本:v5.3.0
【概述】场景+问题概述
程序开启事务更新表数据,数据量是几千行,已使用索引,但执行后不提交
【背景】做过哪些操作
max-txn-ttl为默认值
【现象】业务和数据库现象
tidb节点报错:
1.expensive-query
2.[lock_resolver.go:498] [“lock txn not found, lock has expired”]
tikv节点无报错
【业务影响】
【TiDB 版本】
【附件】
-
TiUP Cluster Display 信息
-
TiUP Cluster Edit Config 信息
-
TiDB- Overview 监控
语句执行时间为16:20-16:51,之后手动kill会话,kv监控如下:
执行期间,没有别的dml或ddl语句执行。在另一个时段执行的这个语句,也出现卡住的现象,有出现锁等待的情况,慢日志里 Exec_retry_count
的次数信息,但在16:20这个时段里没有。两次执行时都报了相似的错误:
[lock_resolver.go:498] [“lock txn not found, lock has expired”] [CallerStartTs=431401114832207921] [“lock str”=“key: 7480000000000044df5f7280000000e7a2c31b, primary: 7480000000000044df5f6980000000000000010419ac2e0000000000038010d6d8aa1c0f0f, txnStartTS: 431401091960143875, lockForUpdateTS:431401105630953596, minCommitTs:431401105630953597, ttl: 88305, type: PessimisticLock, UseAsyncCommit: false, txnSize: 0”]
TIDB_TRX. 查询一下各个节点正在执行的事务
tikv和pd节点正常,未出现报错,集群在执行期间无热点。