Skip to content

Joint Consensus

// TODO

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.

  • 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