What is UnregisterController?
Removes a controller from a KRaft cluster's registered controller set, taking a single controller ID. The active controller writes an UnregisterControllerRecord so the node drops out of the metadata image; this backs kafka-cluster unregister-controller and kafka-metadata-quorum remove-controller --unregister, and needs metadata version 4.4-IV2. Added on trunk after 4.3 — no released broker accepts it.
Wire Diagram
Request Header · flexible
message_size
int32 · 4B
api_key
int16 · 2B
api_version
int16 · 2B
correlation_id
int32 · 4B
client_id
string (compact)
tagged
var
UnregisterControllerRequest v0
ControllerId
int32 · 4B
tagged
var
Schema & Example
Schema { "ControllerId": int32 }
Example { "ControllerId": 0 }