Versions Compared

Key

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

Table of Contents

Status

Current state: DraftRejected in favor of KIP-853: KRaft Controller Membership Changes

Discussion thread:

JIRA:

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

KIP-595 proposed a raft-like replication protocol for the metadata quorum that is required by KIP-500. This proposal adds support for dynamic quorum reassignment.

  • To increase or reduce the size of the voter set
  • To change quorum membership in the case of failures (e.g. disaster recovery)
  • To switch between dedicated deployment and mixed deployment easily, with making controller nodes standalone or integrate with data nodes

...

This enables the following use cases:

  • Recovery from a failed disk. As noted in
    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyKAFKA-14077
    , if a voter experiences a failed disk, we cannot simply bring it back into the quorum with a clean slate without risking the loss of committed data.
  • Increase or decrease the size of the voter set
  • Switch between mixed controller/broker nodes and dedicated controller nodes

Quorum Reassignment

The protocol for changing the active voters is well-described in the Raft literature. The high-level idea is to use a new control record type to write quorum changes to the log. Once a quorum change has been written and committed to the log, then the quorum change can take effect.

...