What is SyncGroup?
After JoinGroup, the elected leader pushes computed assignments via SyncGroup, and every member waits for the response to learn its own assignment. A rebalance that completes JoinGroup but hangs here usually means the leader is taking too long to compute assignments (large groups, slow custom assignors).
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
SyncGroupRequest v4
GroupId
string (compact)
GenerationId
int32 · 4B
MemberId
string (compact)
GroupInstanceId?
string (compact)
tagged
var
MemberId
string (compact)
Assignment
bytes (compact)
tagged
var
Schema & Example
Schema { "GroupId": string, "GenerationId": int32, "MemberId": string, "GroupInstanceId": string?, "Assignments": [{ "MemberId": string, "Assignment": bytes }] }
Example { "GroupId": "order-processors", "GenerationId": 5, "MemberId": "consumer-1-abc123", "GroupInstanceId": null, "Assignments": [{ "MemberId": "consumer-1-abc123", "Assignment": "<assignment>" }] }