Versions Compared

Key

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

...

However, there is currently no way to unregister a controller, like there is for brokers via UnregisterBrokerRequest and UnregisterBrokerRecord. This means a stale controller registration from a controller that no longer exists registrations can block feature upgrades. This KIP proposes adding support for operators to manually unregister controllers like they can with brokers.

The main use cases for unregistering a controller are for dynamic quorum clusters (i.e. clusters with KIP-853 enabled), since controller processes can now become observers of the KRaft log (i.e. they replicate the log but do not participate in leader election or committing data) and persist a controller registration to the metadata log. However, there is a static quorum edge case where modifications to controller.quorum.voters can allow for a stale ControllerRegistrationRecord  to end up in the log. In either quorum mode, this KIP allows for operators to remove those controller registrations from the metadata log.

Public Interfaces

New RPC 

...