kafka
system_error
ai_generated
partial
AdminCommandFailedException: Partition reassignment failed due to no viable candidates
ID: kafka/partition-reassignment-failed-no-candidates
70%Fix Rate
83%Confidence
1Evidence
2024-01-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Kafka 3.2.0 | active | — | — | — |
| Kafka 3.5.0 | active | — | — | — |
| Kafka 3.7.0 | active | — | — | — |
Root Cause
The partition reassignment algorithm cannot find any broker that satisfies the specified constraints (e.g., rack awareness, resource limits).
generic中文
分区重新分配算法无法找到任何满足指定约束条件(如机架感知、资源限制)的代理。
Official Documentation
https://kafka.apache.org/documentation/#basic_ops_cluster_expansionWorkarounds
-
75% success Add more brokers to the cluster or free up resources on existing brokers (e.g., delete unused topics, increase disk space). Then retry the reassignment with a balanced plan.
Add more brokers to the cluster or free up resources on existing brokers (e.g., delete unused topics, increase disk space). Then retry the reassignment with a balanced plan.
-
80% success Use the `--generate` option in `kafka-reassign-partitions.sh` to create a reassignment plan that respects current constraints, then execute it with `--execute`.
Use the `--generate` option in `kafka-reassign-partitions.sh` to create a reassignment plan that respects current constraints, then execute it with `--execute`.
中文步骤
Add more brokers to the cluster or free up resources on existing brokers (e.g., delete unused topics, increase disk space). Then retry the reassignment with a balanced plan.
Use the `--generate` option in `kafka-reassign-partitions.sh` to create a reassignment plan that respects current constraints, then execute it with `--execute`.
Dead Ends
Common approaches that don't work:
-
Forcing reassignment with `--force` flag without adjusting constraints
90% fail
The `--force` flag does not bypass viability checks; it only skips some safety checks, and the algorithm still fails.
-
Manually specifying a broker that is already at full disk capacity
85% fail
The broker cannot accept more partitions due to resource limits, and the reassignment will fail or degrade cluster performance.