{
  "id": "kafka/consumer-group-rebalance-timeout",
  "signature": "org.apache.kafka.common.errors.RebalanceInProgressException: The group is rebalancing, so a rebalance is already in progress",
  "signature_zh": "再均衡进行中异常：消费者组正在再均衡，因此另一个再均衡已在进行中",
  "regex": "RebalanceInProgressException: The group is rebalancing",
  "domain": "kafka",
  "category": "runtime_error",
  "subcategory": null,
  "root_cause": "Consumer group rebalance triggered while another rebalance is still in progress, typically due to slow consumer join times or network delays.",
  "root_cause_type": "generic",
  "root_cause_zh": "消费者组再均衡在另一个再均衡仍在进行时被触发，通常由消费者加入缓慢或网络延迟引起。",
  "versions": [
    {
      "version": "Kafka 3.6.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Kafka 3.7.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "It only postpones the error; the rebalance will still fail if consumers are slow.",
      "fail_rate": 0.7,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "It exacerbates the problem by making consumers appear dead prematurely.",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "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.",
      "success_rate": 0.8,
      "how": "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.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Use static group membership by setting `group.instance.id` to a unique value per consumer to reduce rebalance frequency.",
      "success_rate": 0.9,
      "how": "Use static group membership by setting `group.instance.id` to a unique value per consumer to reduce rebalance frequency.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Example fix in Java consumer: `props.put(ConsumerConfig.REBALANCE_TIMEOUT_MS_CONFIG, 120000); props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);`",
      "success_rate": 0.85,
      "how": "Example fix in Java consumer: `props.put(ConsumerConfig.REBALANCE_TIMEOUT_MS_CONFIG, 120000); props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);`",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "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.",
    "Use static group membership by setting `group.instance.id` to a unique value per consumer to reduce rebalance frequency.",
    "Example fix in Java consumer: `props.put(ConsumerConfig.REBALANCE_TIMEOUT_MS_CONFIG, 120000); props.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, 500);`"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://kafka.apache.org/documentation/#consumer_rebalance",
  "official_doc_section": null,
  "error_code": null,
  "verification_tier": "ai_generated",
  "confidence": 0.88,
  "fix_success_rate": 0.82,
  "resolvable": "true",
  "first_seen": "2024-01-10",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}