raft 不提交 no-op 日志,可以保证正确性吗?

2023-05-07 01:19:12 +08:00
 qianxi0410

我有一个问题想请教一下:no-op 操作只在 raft 论文中的 8.客户端的交互 中的优化部分进行提到,所以我认为只有考虑读优化的时候需要用到 no-op 操作(此时 no-op 操作只用来保证 commitIndex 的新鲜度),若不做读优化则不用考虑 no-op 。但是这篇文章中又提到了 no-op 日志可以防止幽灵复现问题,但是作者论文中没有提到这点(作者考虑不周?)。那么我的疑问是,不做读优化,即也不做 no-op ,raft 还能保证正确性吗?

不知道我是否表达清楚了我的疑问。

879 次点击
所在节点    程序员
1 条回复
qianxi0410
2023-05-07 17:33:48 +08:00
大概知道了,先说结论:不做读优化,不提交 no-op ,raft 依然可以正确运行。
“幽灵复现”背景是做了读优化却不提交 no-op ,所以出现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937969

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX