[FAQ] Txn(Mvcc(TxnLockNotFound

[问题澄清]

Txn(Mvcc(TxnLockNotFound { start_ts: 409948766518378505, commit_ts: 409948768943210513, key: [109, 68, 68, 76, 74, 111, 98, 72, 255, 105, 255, 115, 116, 111, 114, 121, 0, 255, 0, 0, 252, 0, 0, 0, 0, 0, 255, 0, 0, 72, 0, 0, 0, 0, 0, 250] }

[原因分析]

  • 事务提交的慢了,超过了 TTL 被其他事务给 Rollback 掉了。

  • 小事务 ttl 默认是 3s

  • 乐观和悲观在提交阶段都可能有这个报错

  • 通过 key 查对应的行可以用 https://github.com/disksing/mok

[解决方案]

  • 查看提交间隔:./pd-ctl tso [start_ts] & ./pd-ctl tso [commit_ts] 是否太久

  • 根据报错信息查找对应的 SQL 信息,确认是否是 SQL 执行时间太久,对问题 SQL 进行优化