Skip to content
Kafka Is Fun
ClusterBrokers

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

  1. 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-partitions

    Fix

    Start it. The monitoring documentation notes that when the broker is up again, the ISR is expanded once its replicas are fully caught up.

  2. 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.

  3. 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.

Reproduce in the simulator

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.

Back to all errors