关于Percolator分布式事务的疑问

看两篇帖子,对Percolator-Tidb里secondary提交还是有疑惑

我的理解是:
一个事务里10行数据变更,选其中一行作为primary,其他9行为secondary,然后全部加锁,secondary上的锁指向primary;
commit阶段,primary数据行提交成功,primary lock释放;这个时候如果secondary提交失败(锁应该是没释放的),其他会话再来读取这9行,是
1、让这9行再次尝试提交直到成功,释放锁?
2、还是直接发起回滚,释放锁?
(应该不会直接释放锁吧?)

  1. 大致可以这样理解。但是不是一行,是一个 key 作为 primary key
  2. commit 阶段,parmary 提交成功后,seconary 提交无需检测锁是否还存在,一定不会失败

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