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.
Wire Diagram
Request Header
message_size
int32 · 4B
api_key
int16 · 2B
api_version
int16 · 2B
correlation_id
int32 · 4B
client_id
string
LeaveGroupRequest v3
GroupId
string
MemberId
string
GroupInstanceId?
string
Schema & Example
Schema { "GroupId": string, "Members": [{ "MemberId": string, "GroupInstanceId": string? }] }
Example { "GroupId": "order-processors", "Members": [{ "MemberId": "consumer-1-abc123", "GroupInstanceId": "instance-0" }] }