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 · 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)
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": null, "Reason": "shutting down" }] }