咨询:prewrite primarykey 是否会检查锁冲突?

在我的理解中:当

  1. 事务1 prewrite primarykey 后 commit 前
  2. 事务2 prewrite primarykey 时写入与事务1相同的 key

则事务2会检查到锁冲突 prewrite 失败。

但在使用 tikv-java-client 进行 2pc 时,发现事务2可以成功 prewrite。和我的理解有出入

所以我只是想确认:
TiKV 是否会在 prewrite primarykey 时进行锁冲突检测?还是说这一步是 TiDB 做的

会,悲观模式下prewrite时也是乐观锁

感谢,那就应该我测试的有些问题。

冲突也是有概率的

再问一句,prewrite 如果冲突了,默认行为是会等待到锁被释放,还是就返回错误了

https://docs.pingcap.com/zh/tidb/v5.2/troubleshoot-lock-conflicts#乐观锁
这个可以参考下

测试的时候如果是auto commit的,会走乐观事务

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。