multi-master-paxos: 3 - OpenACID Blog #34
Replies: 1 comment
-
mmp3 跟 epaxos 有个不同的地方, instance 复制到 replica 时要记录所有依赖的instance, 包括间接依赖的. 这是mmp3 保证 线性一致性的一个条件, 读过epaxos的同学可能会漏掉这个细节导致无法证明线性一致性. 例如下面这个容易出现疑问的 case:
这里有个容易漏掉的细节是, t5 时, 在 R3 上记录的 A, 应记录 也就是说, 间接依赖的 instance 都应被记录到一个 instance 的依赖集( 如果没有这个细节, 最终形成的依赖关系是:
通过比较每个 instance 的依赖集的大小和column index,最终执行顺序是ABC, 违反了Linearizability的原则: A 在 C 提交之后被propose, 应该在C之后被apply. 加入这个间接依赖的约束后, t5时间A的依赖应为
此时B被先 apply, 剩下 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
multi-master-paxos: 3 - OpenACID Blog
小孩子才选master, 成年人只用multi-master
https://blog.openacid.com/algo/mmp3/
Beta Was this translation helpful? Give feedback.
All reactions