Error: KV error safe to retry Txn(Mvcc(TxnLockNotFound 错误导致同步中断

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:4.0GA
  • 【问题描述】:在使用syncer和OGG同步经常出现Error: KV error safe to retry Txn(Mvcc(TxnLockNotFound 错误导致同步数据中断。想请教下4.0对这块有没有什么办法优化和参数调优。

此问题一般是由于 锁竞争导致的
请确认上游相关操作是否存在锁竞争的现象。

此种场景下建议使用 悲观锁模式 同时将 集群升级到 最新的 4.0.7
在 4.0.6 版本以前 隐式事物会以乐观锁模式进行处理,如果锁竞争验证就会出现大量 Txnnotfound 和 locknotfound 相关backoff 重试。
默认是重试 10 次

之后的版本 发生重试后 会以悲观锁模式进行处理 大大缓解锁竞争问题。

此问题一般是由于 锁竞争导致的
请确认上游相关操作是否存在锁竞争的现象。
=================================> 上游并未发现有锁问题,应该是可以排除。这个问题最近1个月才发现。
嗯 有机会在升级下集群。

如果上游数据源是 mysql 建议使用 dm 1.0.6 以上版本.会有重试机制,也更便于管理
syncer 目前官方已不推荐使用.
另外已需要关注下 写入事物大小,如果事物执行超过 3s,会导致 lock TTL 超时, 相关锁被 其他 事物清理掉.

DM只适合7.x的系统,我们之前的环境是6.x的所以只能使用syncer来进行同步。

另外已需要关注下 写入事物大小,如果事物执行超过 3s,会导致 lock TTL 超时, 相关锁被 其他 事物清理掉. =====》 这个我在syncer配置中把 batch 参数调整为1,都有还有这问题。

如果是偶尔出现,正常进行重试就可以。
如果频繁出现,需要关注下 tidb 写流程性能

相关的参考
异常 KV error safe to retry tikv restarts txn: Txn(Mvcc(TxnLockNotFound 相关案例
https://asktug.com/_/tidb-performance-map/#/
https://docs.pingcap.com/zh/tidb/stable/tidb-troubleshooting-map#45-tikv-写入慢 问题排查文档