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
Uh oh!
There was an error while loading. Please reload this page.
-
multi-master-paxos: 3 - OpenACID Blog
小孩子才选master, 成年人只用multi-master
https://blog.openacid.com/algo/mmp3/
Beta Was this translation helpful? Give feedback.
All reactions