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 v2
ErrorCode
int16 · 2B
ErrorMessage?
string (compact)
tagged
var
TopicName
string (compact)
tagged
var
PartitionIndex
int32 · 4B
ErrorCode
int16 · 2B
ErrorMessage?
string (compact)
LeaderId
int32 · 4B
LeaderEpoch
int32 · 4B
HighWatermark
int64 · 8B
tagged
var
ReplicaId
int32 · 4B
ReplicaDirectoryId
uuid · 16B
LogEndOffset
int64 · 8B
LastFetchTimestamp
int64 · 8B
LastCaughtUpTimestamp
int64 · 8B
tagged
var
ReplicaId
int32 · 4B
ReplicaDirectoryId
uuid · 16B
LogEndOffset
int64 · 8B
LastFetchTimestamp
int64 · 8B
LastCaughtUpTimestamp
int64 · 8B
tagged
var
NodeId
int32 · 4B
tagged
var
Name
string (compact)
Host
string (compact)
Port
uint16 · 2B
tagged
var
Schema & Example
Schema { "ErrorCode": int16, "ErrorMessage": string?, "Topics": [{ "TopicName": string, "Partitions": [{ "PartitionIndex": int32, "ErrorCode": int16, "ErrorMessage": string?, "LeaderId": int32, "LeaderEpoch": int32, "HighWatermark": int64, "CurrentVoters": [{ "ReplicaId": int32, "ReplicaDirectoryId": uuid, "LogEndOffset": int64, "LastFetchTimestamp": int64, "LastCaughtUpTimestamp": int64 }], "Observers": [{ "ReplicaId": int32, "ReplicaDirectoryId": uuid, "LogEndOffset": int64, "LastFetchTimestamp": int64, "LastCaughtUpTimestamp": int64 }] }] }], "Nodes": [{ "NodeId": int32, "Listeners": [{ "Name": string, "Host": string, "Port": uint16 }] }] }
Example { "ErrorCode": 0, "ErrorMessage": null, "Topics": [{ "TopicName": "orders", "Partitions": [{ "PartitionIndex": 3, "ErrorCode": 0, "ErrorMessage": null, "LeaderId": 1, "LeaderEpoch": 17, "HighWatermark": 284729, "CurrentVoters": [{ "ReplicaId": -1, "ReplicaDirectoryId": "550e8400-e29b-41d4-a716-446655440000", "LogEndOffset": 150382, "LastFetchTimestamp": 0, "LastCaughtUpTimestamp": 0 }], "Observers": [{ "ReplicaId": -1, "ReplicaDirectoryId": "550e8400-e29b-41d4-a716-446655440000", "LogEndOffset": 150382, "LastFetchTimestamp": 0, "LastCaughtUpTimestamp": 0 }] }] }], "Nodes": [{ "NodeId": 1, "Listeners": [{ "Name": "orders", "Host": "broker-1.kafka.local", "Port": 9092 }] }] }