ISR means In-Sync Replicas: the set of replicas for a partition that are caught up (or nearly caught up) with the leader.
What "in sync" means
A follower is in the ISR if it has replicated recent data within configured lag bounds (related to replica.lag.time.max.ms and similar settings). Chronically slow or stuck followers drop out of the ISR.
Partition 0 replicas: [broker-1, broker-2, broker-3]
Leader: broker-1
ISR = {1, 2} ← broker-3 fell behind, removed from ISRWhy ISR matters
- Leader election: Kafka prefers electing a new leader from the ISR, so you do not promote a stale replica and lose acknowledged messages.
- acks=all: a produce is considered committed only when all ISR members have the record (not necessarily every configured replica if some are out of sync).
Related knobs (name-drop carefully)
min.insync.replicas: minimum ISR size required foracks=allwrites to succeed. Example: RF=3 and min ISR=2 means you still require two in-sync copies.- If ISR shrinks below min ISR, producers with
acks=allget errors until ISR recovers.
Durability story
acks=all + min.insync.replicas=2 + RF=3 → write succeeds only when at least 2 replicas have the data → safer than acks=1 (leader only)
Interview tip: "ISR = replicas that are caught up. Leader elections and acks=all durability are defined against the ISR."