What is EndQuorumEpoch?
A stepping-down KRaft leader sends this to prompt other voters to start a new election immediately. Without it, the quorum would wait for the election timeout, making controller failover during planned maintenance much slower.
Wire Diagram
Response Header · flexible
message_size
int32 · 4B
correlation_id
int32 · 4B
tagged
var
EndQuorumEpochResponse v1
ErrorCode
int16 · 2B
tagged
var
TopicName
string (compact)
tagged
var
PartitionIndex
int32 · 4B
ErrorCode
int16 · 2B
LeaderId
int32 · 4B
LeaderEpoch
int32 · 4B
tagged
var
NodeId
int32 · 4B
Host
string (compact)
Port
uint16 · 2B
tagged
var
Schema & Example
Schema { "ErrorCode": int16, "Topics": [{ "TopicName": string, "Partitions": [{ "PartitionIndex": int32, "ErrorCode": int16, "LeaderId": int32, "LeaderEpoch": int32 }] }], "NodeEndpoints": [{ "NodeId": int32, "Host": string, "Port": uint16 }] }
Example { "ErrorCode": 0, "Topics": [{ "TopicName": "orders", "Partitions": [{ "PartitionIndex": 3, "ErrorCode": 0, "LeaderId": 1, "LeaderEpoch": 17 }] }], "NodeEndpoints": [{ "NodeId": 1, "Host": "broker-1.kafka.local", "Port": 9092 }] }