conduktor.io ↗

Kafka LeaveGroup Request Wire Format v5 — Binary Protocol Layout

What is LeaveGroup?

Sent on clean consumer shutdown to trigger an immediate rebalance rather than waiting for the session timeout. Without it, a departed consumer's partitions stay unassigned for up to session.timeout.ms. Static membership (group.instance.id) avoids rebalances on short restarts by skipping LeaveGroup semantics.

Related Errors

COORDINATOR_NOT_AVAILABLE · GROUP_AUTHORIZATION_FAILED · INVALID_GROUP_ID · UNKNOWN_MEMBER_ID

Wire Diagram

Request Header · flexible
message_size int32 · 4B
api_key int16 · 2B
api_version int16 · 2B
correlation_id int32 · 4B
client_id string (compact)
tagged var
LeaveGroupRequest v5
GroupId string (compact)
Members array
tagged var
MemberId string (compact)
GroupInstanceId? string (compact)
Reason? string (compact)
tagged var

Schema & Example

Schema
{
  "GroupId": string,
  "Members": [{
      "MemberId": string,
      "GroupInstanceId": string?,
      "Reason": string?
  }]
}
Example
{
  "GroupId": "order-processors",
  "Members": [{
      "MemberId": "consumer-1-abc123",
      "GroupInstanceId": "instance-0",
      "Reason": null
  }]
}