-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
翻译原文
如果领导人的已知已提交的最高日志条目的索引大于接收者的已知已提交最高日志条目的索引(leaderCommit > commitIndex),则把 接收者的已知已经提交的最高的日志条目的索引commitIndex 重置为 领导人的已知已经提交的最高的日志条目的索引 leaderCommit 或者是 上一个新条目的索引 取两者的最小值
我觉得最后一句上一个新条目的索引
直接翻成最后的新条目索引
就行, 就我的阅读感受来说, 上一个
把我带到了一个误区,举个例子(如图1)
图1: 黑框代表已提交
在s4 马上要接受到leader的附加日志时, 对于上一个新日志的索引的表述,很自然的我就想到了,相对于马上要接受的这次附加日志,上一次的新日志是在索引1,如果对于s4来说,上一个新日志的索引是1,收到的附加日志中的leaderCommit是3,那么s4的commitIndex 就应当等于1,但实际上,当收到附加日志的时候, commitIndex 应该是2(如图2)
图2: 黑框代表已提交
这是因为当收到s4附加日志的时候, 收到的新日志自然加到最后的位置, 对应上了英文原文index of last new entry
,而最后的新日志的索引在这里是2,因为 2<leaderCommit(3), 所以s4的commitIndex 更新为2
Metadata
Metadata
Assignees
Labels
No labels