Skip to content
Kafka Is Fun

Intermediate7 min

ISR Shrink Under Follower Lag

Make a follower fall behind and watch it leave the ISR, then see what that does to acks=all writes.

A follower that has not sent fetch requests, or has not caught up to the leader's log end offset, for replica.lag.time.max.ms is removed from the ISR. The default is 30 seconds; the simulator uses 5 seconds so you can watch it happen. A smaller ISR tolerates fewer failures, and if it drops below min.insync.replicas, acks=all writes are refused.

The steps use the simulator and name the control to use. The outcomes they describe are what the simulator models; the sources below are what Apache documents.

Steps

0 of 7 steps completed

Verification

Every partition's ISR is back to three brokers and an acks=all write succeeds.

The interview angle

A follower leaves the ISR when it stops fetching or falls behind for replica.lag.time.max.ms (30 s by default). Watch UnderReplicatedPartitions, and the fetcher's MaxLag metric, to see it happen on a real cluster.

Sources

Checked against Kafka 4.2 documentation on 11 October 2026. Draft: not yet reviewed by a Kafka specialist, and releases move on, so confirm against the current documentation before you act on it.