在我的理解中:当
- 事务1 prewrite primarykey 后 commit 前
- 事务2 prewrite primarykey 时写入与事务1相同的 key
则事务2会检查到锁冲突 prewrite 失败。
但在使用 tikv-java-client 进行 2pc 时,发现事务2可以成功 prewrite。和我的理解有出入
所以我只是想确认:
TiKV 是否会在 prewrite primarykey 时进行锁冲突检测?还是说这一步是 TiDB 做的
在我的理解中:当
则事务2会检查到锁冲突 prewrite 失败。
但在使用 tikv-java-client 进行 2pc 时,发现事务2可以成功 prewrite。和我的理解有出入
所以我只是想确认:
TiKV 是否会在 prewrite primarykey 时进行锁冲突检测?还是说这一步是 TiDB 做的
会,悲观模式下prewrite时也是乐观锁
感谢,那就应该我测试的有些问题。
冲突也是有概率的
再问一句,prewrite 如果冲突了,默认行为是会等待到锁被释放,还是就返回错误了
测试的时候如果是auto commit的,会走乐观事务
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。