Hi Alyssa, Thanks for the reply.
RE AH1: Stale controller registrations can be an issue even without dynamic reconfiguration because observer controllers persist their registration in the metadata log and are thus considered as "part of the kafka cluster" for the feature upgrade checks. After an observer controller has been decommissioned by an operator, its stale registration in a static quorum configuration also prevents feature upgrades if that registration does not support certain finalized feature levels. The situation described here can also happen with a dynamic quorum cluster, regardless if RemoveVoter is run. That being said, yes, running RemoveVoter after decommissioning the node, without removing the registration, is one way to cause a stale controller registration, but the real thing causing stale registration is the operator decommissioning a given controller node. The decision to add an `--unregister` flag to `kafka-metadata-quorum remove-controller` was mainly for a good UX, so that the user can run 1 CLI command completely remove a controller from both the KRaft voter set and the kafka cluster. The RemoveVoter RPC itself does not know whether the controller process associated with the removed ReplicaKey has actually been decommissioned. The operator is really the only one who "knows" this. For example, auto-joining controllers remove their old incarnation's ReplicaKey from the voter set before adding themselves back to the voter set. Best, Kevin Wu On Fri, Apr 3, 2026 at 2:18 PM Alyssa Huang via dev <[email protected]> wrote: > Thanks for the KIP Kevin! > > AH1 > > > This means a stale controller registration from a controller that no > > longer exists can block feature upgrades. > > > And dynamic reconfiguration (specifically RemoveVoter) can cause stale > controller registrations? Meaning anyone who has used RemoveVoter to > permanently downsize their controller quorum would eventually need to > unregister the controller to unblock future feature upgrades? > > Best, > Alyssa > > On Fri, Apr 3, 2026 at 11:30 AM Kevin Wu <[email protected]> wrote: > > > Hi all, > > > > I would like to start a discussion on KIP-1312: Support unregistering > > controllers. Below is the KIP link. > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1312%3A+Support+unregistering+controllers > > > > Thanks, > > Kevin Wu > > >
