Under-replicated partitions greater than zero
Checked against Kafka 4.2 · Oct 2026Community draft, not yet reviewed by a Kafka specialist
What it means
A partition is under-replicated when its in-sync replica set has fewer members than its replica list. The monitoring page defines the UnderReplicatedPartitions metric as the number of partitions with |ISR| < |all replicas|, and its normal value is 0. The data is still served by the leader, but you have less redundancy than you configured.
Quick answer
Look at which broker the missing replicas live on. If it is down, bring it back. If it is up, a follower is not keeping up, and the fix is whatever slows it. Also check whether one of its log directories has failed.
Likely causes, most common first
A broker is down or restarting
How to confirm
The same broker is missing from the ISR of many partitions at once. Check that it is running.
confirm kafka-topics.sh --bootstrap-server localhost:9092 --describe --under-replicated-partitionsFix
Start it. The monitoring documentation notes that when the broker is up again, the ISR is expanded once its replicas are fully caught up.
A follower cannot keep up
How to confirm
The leader removes a follower from the ISR if it has not sent fetch requests, or has not consumed up to the leader's log end offset, for replica.lag.time.max.ms (30000 by default). On the slow broker, check RequestHandlerAvgIdlePercent and NetworkProcessorAvgIdlePercent, which are normally between 0 and 1 and ideally above 0.3.
Fix
Remove the bottleneck on that broker. If you are moving replicas, the operations documentation describes a replication throttle (kafka-reassign-partitions.sh --throttle) that sets an upper bound on the bandwidth used, and warns that a throttle set too low can stop replication from making progress.
A log directory on the broker has failed
How to confirm
KIP-112 describes that the broker stops serving replicas in a bad log directory, and the controller treats those replicas as offline. The metrics OfflineLogDirectoryCount and LogDirectoryOffline show it, and the broker logs "Stopping serving replicas in dir ... because the log directory has failed".
Fix
Fix the disk problem. The 4.2 source notes that an offline log directory stays offline until the broker is restarted. See the disk entry.
See it happen
Shrink the ISR with follower lag
Opens the simulator with this exercise already running. About 5 minutes.
Sources
Every claim above comes from these Apache pages, as of Kafka 4.2. If a page does not say it, this entry does not.
- Monitoring (4.2 documentation) (opens in a new tab)
- Broker configs (4.2 documentation) (opens in a new tab)
- TopicCommand.java (4.2 source) (opens in a new tab)
- Basic Kafka operations (4.2 documentation) (opens in a new tab)
- KIP-112: Handle disk failure for JBOD (opens in a new tab)
- ReplicaManager.scala (4.2 source) (opens in a new tab)
- LogDirFailureChannel.java (4.2 source) (opens in a new tab)
Was this helpful?
Report an issue (opens GitHub in a new tab)