5 ms·
"Due to the nature of Raft, there is a very small window (milliseconds) where a node has been disposed as leader, but has not yet changed its internal state. Th
by ziedaniel1 11y ago
"Due to the nature of Raft, there is a very small window (milliseconds) where a node has been disposed as leader, but has not yet changed its internal state. Therefore, even with the leader check in place, there is a very small window of time where out-of-date results could be returned."
No, that's absolutely not inherent to the nature of Raft. It sounds like they're making the same mistake that etcd did, simply relying on whether a node believes it's still the leader rather than having it confirm that fact by committing a log entry: https://aphyr.com/posts/316-jepsen-etcd-and-consul https://aphyr.com/posts/316-jepsen-etcd-and-consul
- otoolep 11y agoWe're way ahead of you. https://github.com/otoolep/rqlite/issues/5 https://github.com/otoolep/rqlite/issues/5 But yeah, that is awkwardly phrased -- let me fix it.
- otoolep 11y agoDone. You're right that it's not Raft, it's rqlite. Though I plan to add an option that will send all queries through Raft, if so requested.
- ziedaniel1 11y agoGreat - sorry for the harsh words, I guess I've just come to expect people to screw up distributed systems :)