3 modifications to the Raft consensus algorithm (paper)

hingo's picture

Update: This version of my paper is superceded by a new version: 4 modifications to Raft consensus. Please read it instead.

August is usually a slower month as a lot of people are on vacations. I try to take advantage of that to work on tasks that require a bit more deliberation and quiet time. This Summer I returned to re-reading the paper on the Raft algorithm, in particular my colleagues in New York pointed out that the PhD thesis that extends on the original paper was now complete, and contains some additional details.

Spencer Brody from the MongoDB engineering team gave a talk on Raft and MongoDB at MongoDB World in June. If you want to learn more about how Raft will translate into MongoDB, you should watch it, it is a great reasource. In this paper I have focused solely on addressing some corner cases in the context of Raft itself.

While Raft is great, you can always do more to be perfect. At this point I have quite some experience with various database replication technologies, so I could immediately spot some features missing that I've found to be useful properties of a database replication solution.

Now that I publish this paper on my blog, it has not yet been reviewed by anybody else than myself. I welcome any comments or even corrections, should you find any. (Comment box below is fine, or my email at henrik.ingo@openlife.cc)

Paper: Three modifications for Raft consensus (PDF)

Btw, for those that don't know me, I'm not actually on the MongoDB dev team, I'm just a solutions architect who has to live with this technology with customers. So that's motivation enough to try and help make it as good as possible! And, to have something fun to do while customers are on vacation :-)

3-modifications-for-Raft-consensus.pdf351.92 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
4 modifications for Raft consensus | OpenLife.cc's picture


[...] A month ago I published a quasi-academic paper, proposing 3 modifications to the Raft replication algorithm. I got some great review and feedback on the Raft mailing list. So based on that I have now updated [...]

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <p> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <sup> <div> <blockquote> <pre> <img>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically. (Better URL filter.)

This question is for testing whether you are a human visitor and to prevent automated spam submissions.