Kafka Error INVALID_REPLICATION_FACTOR
Error code 38 · Non-retriable Admin
Replication factor is below 1 or larger than the number of available brokers.
Common Causes
- Replication factor requested exceeds the number of online brokers in the cluster (common in dev/staging with 1-broker clusters trying RF=3)
- Brokers are online but some are in an unclean state and not counted as eligible replicas by the controller
- Topic creation specifying RF=0 or RF=-1 due to misconfigured default.replication.factor or application bug
Solutions
- Match replication factor to the number of available brokers; for single-node dev clusters, set replication-factor=1 explicitly
- Check cluster health with kafka-broker-api-versions.sh or kafka-metadata-quorum.sh to confirm all expected brokers are online and registered
- Set a safe default in server.properties default.replication.factor and enforce RF constraints in your topic provisioning tooling
Diagnostic Commands
# Describe topic replicas and ISR status
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic <topic> 2>&1 | grep -E 'ReplicationFactor|Isr|Replicas'
# Count online brokers in the cluster
kafka-broker-api-versions.sh --bootstrap-server localhost:9092 2>&1 | grep -c 'id:'Related APIs
This error can be returned by: CreateTopics
Debugging Kafka errors? Conduktor Console gives you real-time visibility into your cluster. Explore all errors in the Error Decoder.