What is DescribeQuorum?
Shows KRaft controller quorum health via kafka-metadata-quorum.sh --describe. The lagOffset per voter reveals how far behind each follower controller is from the leader. A voter with high lag and not in the ISR may be unable to participate in elections.
Wire Diagram
Response Header · flexible
message_size
int32 · 4B
correlation_id
int32 · 4B
tagged
var
DescribeQuorumResponse v1
ErrorCode
int16 · 2B
tagged
var
TopicName
string (compact)
tagged
var
PartitionIndex
int32 · 4B
ErrorCode
int16 · 2B
LeaderId
int32 · 4B
LeaderEpoch
int32 · 4B
HighWatermark
int64 · 8B
tagged
var
ReplicaId
int32 · 4B
LogEndOffset
int64 · 8B
LastFetchTimestamp
int64 · 8B
LastCaughtUpTimestamp
int64 · 8B
tagged
var
ReplicaId
int32 · 4B
LogEndOffset
int64 · 8B
LastFetchTimestamp
int64 · 8B
LastCaughtUpTimestamp
int64 · 8B
tagged
var
Schema & Example
Schema { "ErrorCode": int16, "Topics": [{ "TopicName": string, "Partitions": [{ "PartitionIndex": int32, "ErrorCode": int16, "LeaderId": int32, "LeaderEpoch": int32, "HighWatermark": int64, "CurrentVoters": [{ "ReplicaId": int32, "LogEndOffset": int64, "LastFetchTimestamp": int64, "LastCaughtUpTimestamp": int64 }], "Observers": [{ "ReplicaId": int32, "LogEndOffset": int64, "LastFetchTimestamp": int64, "LastCaughtUpTimestamp": int64 }] }] }] }
Example { "ErrorCode": 0, "Topics": [{ "TopicName": "orders", "Partitions": [{ "PartitionIndex": 3, "ErrorCode": 0, "LeaderId": 1, "LeaderEpoch": 17, "HighWatermark": 284729, "CurrentVoters": [{ "ReplicaId": -1, "LogEndOffset": 150382, "LastFetchTimestamp": 0, "LastCaughtUpTimestamp": 0 }], "Observers": [{ "ReplicaId": -1, "LogEndOffset": 150382, "LastFetchTimestamp": 0, "LastCaughtUpTimestamp": 0 }] }] }] }