conduktor.io ↗

Kafka EndQuorumEpoch Changelog — Protocol Version History

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.

VersionKafkaChanges
EndQuorumEpochRequest
v02.7
+ ClusterId string
+ Topics []TopicData
+ TopicName string
+ Partitions []PartitionData
+ PartitionIndex int32
+ LeaderId int32
+ LeaderEpoch int32
+ PreferredSuccessors []int32
v13.9
+ PreferredCandidates []ReplicaInfo
+ CandidateId int32
+ CandidateDirectoryId uuid
+ LeaderEndpoints []LeaderEndpoint
+ Name string
+ Host string
+ Port uint16
- PreferredSuccessors []int32
~ Flexible encoding enabled FLEXIBLE
adds flexible versions, replaces preferred successors with preferred candidates and adds leader endpoints (KIP-853)
EndQuorumEpochResponse
v02.7
+ ErrorCode int16
+ Topics []TopicData
+ TopicName string
+ Partitions []PartitionData
+ PartitionIndex int32
+ ErrorCode int16
+ LeaderId int32
+ LeaderEpoch int32
v13.9
+ NodeEndpoints []NodeEndpoint
+ NodeId int32
+ Host string
+ Port uint16
~ Flexible encoding enabled FLEXIBLE
adds flexible versions and leader endpoint (KIP-853)