msql5.7.2 迁移 tidb3.0.12 测试环境 。更新数据报错 PessimisticLockNotFond

  • 【TiDB 版本】:3.0.12
  • 【问题描述】:更新数据报错 PessimisticLockNotFond。
    之前在mysql里同样的程序,没有问题。但是tidb不行。一直是这个错误。我们调整了事务超时时间 以及 事务提交大小 但是依然无果。
  1. 悲观锁事务会遇到,事务从开始执行时上锁,达到[pessimistic-txn] 部分的 ttl 后锁被释放。 ttl 是悲观事务的锁超时时间,默认值 30 秒,可以在 15 秒到 120 秒之间配置,超出这个范围会报错。如果事务的执行时间超过了 ttl,事务会失败。设置过大,会存在 tidb-server 宕机时,残留的悲观锁长时间阻塞写的问题,设置的过小,会存在事务来不及执行完,就被其他事务 rollback 的问题。
  2. 请问是否这个事务执行时间很长,另外是否希望使用悲观锁,多谢