Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

By maintaining a separate committedVoterSet, the system ensures:

  • Safety: Only Both committed and uncommitted voters are guaranteed to participate in quorum decisions and maintain data durabilityelections.Observability, automation, and monitoring systems should evaluate quorum health and tolerance based solely on the committed voter set, not on nodes that are still joining or pending commitment.  This ensures that safety decisions—such as whether a quorum is available—remain consistent with Raft guarantees However, uncommitted voters (those whose VotersRecord has been appended but not yet committed) carry a risk: if the leader crashes before the VotersRecord is committed, the voter change maybe lost due to log truncation, leading to potential configuration inconsistencies.

  • Stability: When the committed and uncommitted voter sets differ, the cluster is in a joint consensus phase.
    Exposing this state allows management and orchestration systems to recognize that the controller quorum is undergoing a transitional reconfiguration, and to avoid assuming the new configuration is already stable.

  • Debugging and Compliance Verification: During troubleshooting or post-incident audits, operators and tools must be able to differentiate between committed voters and uncommitted voters that have started replicating but are not yet officially part of the quorum.This distinction is critical for confirming whether a reconfiguration completed successfully and whether the cluster’s control plane reached a consistent state.

...