# org.apache.kafka.common.errors.RebalanceInProgressException: The group is rebalancing, so a rebalance is already in progress

- **ID:** `kafka/consumer-group-rebalance-timeout`
- **Domain:** kafka
- **Category:** runtime_error
- **Verification:** ai_generated
- **Fix Rate:** 82%

## Root Cause

Consumer group rebalance triggered while another rebalance is still in progress, typically due to slow consumer join times or network delays.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Kafka 3.6.0 | active | — | — |
| Kafka 3.7.0 | active | — | — |

## Workarounds

1. **Set `rebalance.timeout.ms=120000` in consumer config to allow more time for rebalance completion, and ensure `max.poll.records=500` to reduce processing load per poll.** (80% success)
   ```
   Set `rebalance.timeout.ms=120000` in consumer config to allow more time for rebalance completion, and ensure `max.poll.records=500` to reduce processing load per poll.
   ```
2. **Use static group membership by setting `group.instance.id` to a unique value per consumer to reduce rebalance frequency.** (90% success)
   ```
   Use static group membership by setting `group.instance.id` to a unique value per consumer to reduce rebalance frequency.
   ```
3. **Example fix in Java consumer: `props.put(ConsumerConfig.REBALANCE_TIMEOUT_MS_CONFIG, 120000); props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);`** (85% success)
   ```
   Example fix in Java consumer: `props.put(ConsumerConfig.REBALANCE_TIMEOUT_MS_CONFIG, 120000); props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);`
   ```

## Dead Ends

- **** — It only postpones the error; the rebalance will still fail if consumers are slow. (70% fail)
- **** — It exacerbates the problem by making consumers appear dead prematurely. (85% fail)
