Status: IN
`ConsumerGroup.rebalance()` is synchronous and triggered on every membership change, distributing partitions round-robin across sorted consumer IDs — no incremental or cooperative protocol.
Source: entries/2026/05/29/partitioned-log-partitioned_log.md