kafka runtime_error ai_generated partial

org.apache.kafka.common.errors.ReplicaNotAvailableException:分区的副本不可用

org.apache.kafka.common.errors.ReplicaNotAvailableException: Replica for partition is not available

ID: kafka/replica-not-available

其他格式: JSON · Markdown 中文 · English
85%修复率
84%置信度
1证据数
2023-09-20首次发现

版本兼容性

版本状态引入弃用备注
2.8.2 active
3.2.3 active
3.5.1 active

根因分析

请求的分区的跟随者副本离线、未完全同步,或拉取请求指向了不可用的副本。

English

A follower replica for the requested partition is offline, not fully caught up, or the fetch request targets an unavailable replica.

generic

官方文档

https://kafka.apache.org/documentation/#replication

解决方案

  1. Check the broker logs for the specific partition and bring the offline replica online:
    # Identify the partition leader
    kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my_topic
    # Restart the broker hosting the unavailable replica or reassign replicas:
    kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file reassign.json --execute
  2. Set the consumer to read from the leader only by setting client-side rack awareness or using a fetch from the leader (default behavior if replica selector is not configured).

无效尝试

常见但无效的做法:

  1. 95% 失败

    Restarting the consumer only retries the fetch, but the replica remains unavailable.

  2. 85% 失败

    Increasing fetch.max.wait.ms only delays the timeout, not the root cause.