This is our second recitation on Raft. For this recitation, you don't need to read anything new (but feel free to refresh your memory on what happened last time).
In this recitation, we'll focus on clearing up any questions from last time, and then move onto a broader discussion of Raft and fault tolerance.
To check your understanding of the paper at this point, you should be able to answer the following:
- How does Raft handle the following three types of failures?: leader failures, candidate or follower failures, and network partitions (a network partition means that one part of the cluster is unable to communicate with any machine in the other part).
- Take a look at figure 7. For each log, (a)-(f), what sequence of events might have led to that log?
Question for Recitation
Before you come to this recitation, you'll turn in a brief answer to the following questions (really—we don't need more than a sentence or so for each question). Your TA will be in touch about exactly how to turn that in.
Your answers to these questions should be in your own words, not direct quotations from the paper.
- The authors of Raft were "in search of an understandable consensus algorithm". What does it mean to be understandable in this context? Understandable by whom?
- How understandable is Raft, in your opinion?
- Why is understandability important? (Or is it important?)