Skip to content

Instantly share code, notes, and snippets.

@jki127
Created November 27, 2018 21:53
Show Gist options
  • Save jki127/2ae8bdd36b174f8670f90fcc2adccad3 to your computer and use it in GitHub Desktop.
Save jki127/2ae8bdd36b174f8670f90fcc2adccad3 to your computer and use it in GitHub Desktop.

Raft - DistSys Lecture - Nov 20th, 2018

Is it possible for an Acceptor to reject an Accept message?

Yes, if it receives a proposal with a proposal number less than its already accepted value.

How does an Acceptor reply to a rejected proposal?

Depends on the implementation, but usually, the Acceptor ignores the proposal or sends a Reject message back to the proposer.

What if a new nodes are introduced in the middle of values being Accepting a value? (the number of nodes needed for quorum is changing)

We use Paxos to get consensus on “reconfiguration value”, the number of nodes currently in the group.

Deleting log entries in MultiPaxos

We don’t want to keep all log entires because a log can be infinitely long. Deleting a log entry is dangerous though because there may be a node that hasn’t received the log entry yet.

The solution is to ask every node if they’ve received a log entry and only delete it when you have a received a unianimous acknowledgement.

Raft

http://thesecretlivesofdata.com/raft/

MultiPaxos vs. Raft

  • Raft is simpler
  • Both algorithms have similar runtimes
    • Raft is slower when there is Leader Instability. When there is Leader Instability in MultiPaxos, the algorithm just become similar to regular Paxos. In Raft, the nodes have to keep conducting elections to find their leader.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment