Description
Debugging rebalance and assignment issues is harder than it needs to be. One simple thing that can help is to print out information in the logs that users have to compute today.
For example, the StreamsPartitionAssignor prints two messages that contain the the newline-delimited group membership:
[StreamsPartitionAssignor] [...-StreamThread-1] stream-thread [...-StreamThread-1-consumer] All members participating in this rebalance:
<member UUID>: [<consumer ID>]
<member UUID>: [<consumer ID>]
<member UUID>: [<consumer ID>]
and
[StreamsPartitionAssignor] [...-StreamThread-1] stream-thread [...-StreamThread-1-consumer] Assigned tasks [...] including stateful [...] to clients as: <member UUID>=[activeTasks: ([...]) standbyTasks: ([...])] <member UUID>=[activeTasks: ([...]) standbyTasks: ([...])] <member UUID>=[activeTasks: ([...]) standbyTasks: ([...])
In both of these cases, it would be nice to:
- Include the number of members in the group (I.e., "15 members participating" and "to 15 clients as")
- sort the member ids (to help compare the membership and assignment across rebalances)
Attachments
Issue Links
- links to