BeginnerCore Concepts
What is min.insync.replicas and when does it matter?
Reference answer
min.insync.replicas (minISR) is the minimum number of in-sync replicas, including the leader, that must acknowledge a write when the producer uses acks=all (default 1). The partition only accepts writes if the size of the ISR is at or above that minimum; if the ISR has fewer members, the producer gets an exception, such as NotEnoughReplicasException (a retriable error). For example: RF=3, minISR=2, acks=all. If 2 brokers fail, ISR=1 < minISR=2, so writes are rejected. Without a minimum, acks=all only waits for the replicas currently in the ISR, which could be just the leader, so setting minISR together with acks=all gives a stronger durability guarantee at the cost of write availability. It only applies with acks=all: with acks=1 the leader alone acknowledges the write.
Expected key concepts: min.insync.replicas, minISR, acks=all, NotEnoughReplicasException, ISR, leader, RF=3, rejected, durability
How did that feel?
Your own verdict, not the score. It shows up next to this question in the list, so you can come back to the shaky ones.