conduktor.io ↗

KIP-1312 — Support unregistering controllers

Accepted Kafka 4.4 KRaftAdminProtocol

Adds an `UnregisterControllerRequest` RPC, an `UnregisterControllerRecord` metadata record, and a corresponding Admin API so operators can manually remove a controller registration, rejecting ids that belong to the current voter set. Brokers can already be unregistered via `UnregisterBrokerRequest`, but controllers cannot, so stale controller registrations — notably from KRaft observers that replicate the log without voting — permanently block feature level upgrades.

Protocol Impact

BrokerRegistration · UnregisterBroker · ControllerRegistration · RemoveRaftVoter · UnregisterController

Details

AuthorKevin Wu
StatusAccepted
Kafka Version4.4
JIRAKAFKA-20395
WikiView on Apache Wiki
Created2026-04-02
Last Modified2026-08-24
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.