mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-02 14:17:19 +00:00
Review spot: the two restart paths added in the previous commit bumped group.Generation and reset each member's State to Pending but left member.Assignment populated with the prior generation's partitions. The non-leader SyncGroup path only returns REBALANCE_IN_PROGRESS when `member.Assignment` is empty (handleSyncGroup ~line 982). Leaving the stale assignment in place means a member rejoining at the new generation — before the leader's SyncGroup has published fresh assignments — falls through that guard and is served its old partitions from the pre-rebalance state. Clear m.Assignment alongside m.State in both restart sites so the guard fires and the member correctly re-enters the join/sync cycle. Verified with a fresh-broker TestConsumerGroups run: 50.99s total, MultipleConsumersJoin 15.25s, all four consumers each get exactly one partition.