distributed

Adaptive Membership Changes in OpenRaft: Skip Joint Consensus When Quorums Overlap

OpenRaft now skips joint consensus when every old quorum intersects every new quorum. A linear-time test identifies exactly when this is safe for majority-based configurations. It covers Raft’s familiar one-node-at-a-time changes and a few additional cases, while retaining joint consensus for changes that need it.

Raft Membership Changes: When a Leader Must Commit a Current-Term Entry First

Standard joint consensus provides its own log barrier through config entries. Single-step changes and joint consensus extended with rollback require a committed current-term entry before a new config. Two failure scenarios show why the difference comes down to quorum overlap.

Flexible Raft: Read and Write Quorums

A Raft leader usually waits for a majority before committing a write. We can reduce that wait, but the election rules and leader identities must still protect the log. Through a few small clusters, we explore two ways to do this, then follow the consequences for reads, failures, and membership changes.

The Pitfalls of Raft Membership Change

Raft’s single-server membership change carries two problems: its middle state can turn one datacenter into a single point of failure, and the original algorithm could lose a committed entry. Let us look at membership change through quorum sets, and see why joint consensus is the answer.

Raft 成员变更上踩的坑

Raft 在单步成员变更的设计上存在缺陷, 一定要抛弃单步变更, 使用joint consensus