---
title: "Kafka slow follower: replica.lag.time.max.ms and the ISR"
description: "A throttled follower lags past replica.lag.time.max.ms and drops out of the Kafka ISR without crashing, then rejoins on its own once it catches up."
url: https://monedula.dev/kafka-simulator/scenarios/slow-follower/
---

# Kafka slow follower: replica.lag.time.max.ms and the ISR

Scenario 03.1.3 · Slow follower. Replication · Intermediate · about 2 min · Apache Kafka 4.3.

A throttled follower lags past the threshold, drops out of ISR, then rejoins when un-throttled.

Run it: https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3

## What you start with

A follower stays in the ISR only while it keeps catching up to the leader's log end within replica.lag.time.max.ms. Here broker-3 is throttled so it falls behind the leader, then un-throttled - watch it lag past the threshold, drop out of the ISR, and rejoin once it catches up.

## Step by step

1. **Cluster ready - ISR=3** (t+0.000s) [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3&t=0)
2. **broker-3 throttled (slow follower)** (t+2.050s): A slow replica stops advancing its log-end offset. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3&t=1)
3. **broker-3 falling behind - still in ISR** (t+6.100s): Lag is below the eviction threshold so far. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3&t=2)
4. **broker-3 lags past the threshold - evicted from ISR** (t+8.100s): ISR shrinks from lag, not from a crash. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3&t=3)
5. **Un-throttled - broker-3 catches up and rejoins ISR** (t+11.100s) [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=03.1.3&t=4)

## The takeaway

A follower is judged on freshness, not absolute position: lagging past the time threshold evicts it from the ISR, and catching back up readmits it automatically - no operator intervention needed.

## Configs in this scenario

- [`replica.lag.time.max.ms`](https://kafka.apache.org/43/configuration/broker-configs/#brokerconfigs_replica.lag.time.max.ms): How long a follower may go without fetching, or without catching up to the end of the leader log, before the leader removes it from the ISR (default 30000, 30 seconds).

## Further reading

- [Apache Kafka documentation](https://kafka.apache.org/43/configuration/broker-configs/#brokerconfigs_replica.lag.time.max.ms)

## Troubleshooting

- [Kafka under-replicated partitions: causes and fixes](https://monedula.dev/kafka-simulator/troubleshooting/under-replicated-partitions/)
