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
- Broker configs (4.2 documentation) (opens in a new tab)
- Design (4.2 documentation) (opens in a new tab)
- Monitoring (4.2 documentation) (opens in a new tab)
- Producer configs (4.2 documentation) (opens in a new tab)
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.