Skip to content
Kafka Is Fun

Intermediate5 min

Min ISR Block (NOT_ENOUGH_REPLICAS)

See min.insync.replicas refuse an acks=all write because too few replicas are in sync.

With acks=all, a write succeeds only if the partition's ISR has at least min.insync.replicas members; otherwise the producer gets NotEnoughReplicas (or NotEnoughReplicasAfterAppend). The documentation's example is a replication factor of 3 with min.insync.replicas=2 and acks=all: a write needs a majority of the replicas to have it.

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 5 steps completed

Verification

You saw an acks=all write refused with all replicas of its partition not in sync, and accepted again once they were.

The interview angle

What is the difference between a replication factor of 3 and min.insync.replicas=2? The replication factor is how many copies exist; min.insync.replicas is how many of them must have a write before acks=all lets it succeed.

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.