conduktor.io ↗

Kafka DescribeGroups Response Wire Format v2 — Binary Protocol Layout

What is DescribeGroups?

Returns the full state of consumer groups including per-member partition assignments, used by kafka-consumer-groups.sh --describe. PreparingRebalance means JoinGroup responses are pending; Stable means all members are heartbeating; Empty means no members but offsets may still exist.

Related Errors

COORDINATOR_NOT_AVAILABLE · GROUP_AUTHORIZATION_FAILED · GROUP_ID_NOT_FOUND · INVALID_GROUP_ID

Wire Diagram

Response Header
message_size int32 · 4B
correlation_id int32 · 4B
DescribeGroupsResponse v2
ThrottleTimeMs int32 · 4B
Groups array
ErrorCode int16 · 2B
GroupId string
GroupState string
ProtocolType string
ProtocolData string
Members array
MemberId string
ClientId string
ClientHost string
MemberMetadata bytes
MemberAssignment bytes

Schema & Example

Schema
{
  "ThrottleTimeMs": int32,
  "Groups": [{
      "ErrorCode": int16,
      "GroupId": string,
      "GroupState": string,
      "ProtocolType": string,
      "ProtocolData": string,
      "Members": [{
          "MemberId": string,
          "ClientId": string,
          "ClientHost": string,
          "MemberMetadata": bytes,
          "MemberAssignment": bytes
      }]
  }]
}
Example
{
  "ThrottleTimeMs": 0,
  "Groups": [{
      "ErrorCode": 0,
      "GroupId": "order-processors",
      "GroupState": "Stable",
      "ProtocolType": "consumer",
      "ProtocolData": "<protocol-metadata>",
      "Members": [{
          "MemberId": "consumer-1-abc123",
          "ClientId": "my-app-producer",
          "ClientHost": "192.168.1.100",
          "MemberMetadata": "<metadata>",
          "MemberAssignment": "<assignment>"
      }]
  }]
}