Overview
The ISR is the set of replicas the leader considers caught up. If a follower has not sent fetch requests, or has not consumed up to the leader's log end offset, for replica.lag.time.max.ms (30 seconds by default), the leader removes it from the ISR, and it rejoins once it has caught up. The design page says the ISR set is persisted in the cluster metadata whenever it changes. The ISR is the first choice when a new leader is elected; eligible leader replicas are the next candidates.
Analogy
Key configuration
replica.lag.time.max.ms=30000 — default: how long a follower may go without fetching or catching up before it is removed from the ISR
replica.fetch.min.bytes=1 — default: minimum bytes expected for each replica fetch responseProduction tip
Check yourself
What gets a follower removed from the ISR?
Sources
- Design (4.2 documentation) (opens in a new tab)
- Broker configs (4.2 documentation) (opens in a new tab)
- Monitoring (4.2 documentation) (opens in a new tab)
- Eligible Leader Replicas (4.2 documentation) (opens in a new tab)
Checked against Kafka 4.2 documentation on Oct 2026. Draft: not yet reviewed by a Kafka specialist. Releases move on, so confirm against the current documentation before you act on a number.