Joint Consensus
// TODO
Rough Notes
Section titled “Rough Notes”Approach
Section titled “Approach”Joint consensus allows multiple nodes to be added or removed in a single atomic transition. During the transition, two configs coexist (C_old and C_new), and entries must commit in a majority of both simultaneously.
Implementation
Section titled “Implementation”- Replicate C_old,new as a log entry; leader immediately switches to the joint config on append (before commit)
- While in the joint config, quorum requires a majority of C_old and a majority of C_new
- Once C_old,new commits, replicate C_new as a second log entry to complete the transition
- A leader elected during the joint phase may be a member of either config; it must complete the transition
- Servers not in C_new step down once C_new commits
Resources
Section titled “Resources”- The Raft Consensus Algorithm
- Students’ Guide to Raft by Jon Gjengset