需要先明白乐观和悲观的区别,理解 TiDB 两阶段提交,题主的问题我理解只可能发生在乐观事务情况,对于悲观事务在 prewrite 阶段就会检查 ts 进入悲观锁等待
上面很多人提到了,commit 时会需要向 PD 获取一次 tso,此时 prewrite 已经过了,其他事务不应该能抢先 prewrite 而会进入 backoff retry。 反之如果其他事务先于当前事务 prewrite 成功,则当前事务 prewrite 应该 backoff retry
具体可以看一些官网介绍比如
TiDB 最佳实践系列(三)乐观锁事务 | PingCAP
[image]
另外 5.0 针对…