Adds BeginJointConsensus, CommitJointConsensus, and CalculateJointQuorum to RaftNode per Raft paper Section 4. During a joint configuration transition quorum requires majority from BOTH Cold and Cnew; CommitJointConsensus finalizes Cnew as the sole active configuration. The existing single-phase ProposeAddPeerAsync/ProposeRemovePeerAsync are unchanged. Includes 16 new tests covering flag behaviour, quorum boundaries, idempotent commit, and backward-compatibility with the existing membership API.
9.8 KiB
9.8 KiB