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
- Broker configs (4.2 documentation) (opens in a new tab)
- Producer configs (4.2 documentation) (opens in a new tab)
- Protocol and error codes (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.