ylldty
(Ti D Ber Q Yky5 Dvm)
1
我们知道,Percolator 事务模型中,只要 primary key 提交 commit 成功,即使事务相关的各个节点都挂了,其他 key 后续都可以被提交,不影响事务的。
但是如果 primary key 在提交 commit 前 tikv 挂了,相应的 tidb 节点也挂了,这个事务所有的 key lock ttl 都未过期。
这个时候,其他事务的 resolve lock 过程,会帮忙把这个事务帮忙提交一下吗?还是只能选择 lock ttl 超时回滚了。
在 Async Commit 事务中,由于 primary key lock 含有 secondary keys 的指针,所以 resolve lock 应该是可以帮忙提交 commit 的吧?
春风十里
(Ti D Ber F Vf Ce7m B)
3
这就是事务更新完了,但是没提交的状态,我的理解是只要执行这个事务的tidb 节点挂了,或者会话挂了,都会导致回滚,因为这个事务本身是没有成功提交的,并且上述情况导致永远无法提交。如果只是tikv挂了,应该是会话报错,事务回滚。
哈喽沃德
4
需要通过故障处理和恢复机制来确保事务最终能够被正确处理
1 个赞
system
(system)
关闭
7
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。