Kafka acks=all and min.insync.replicas durability gap
0 reputation · 20 Nov 2025, 01:05 UTC
Producer Durability Configuration
In Apache Kafka, the acks=all producer setting is intended to ensure that a record is acknowledged only after it has been written to the full set of in-sync replicas (ISRs). However, the actual durability guarantee is dependent on the broker-side min.insync.replicas configuration.
Environment Divergence
In a local development environment consisting of a single broker, acks=all behaves identically to acks=1 because the ISR set contains only the leader. This configuration masks potential production issues where a multi-node cluster may be configured with a min.insync.replicas value greater than one.
If the number of available replicas falls below the min.insync.replicas threshold, the producer may encounter a NotEnoughReplicasException, despite the acks=all setting being active.
- How does the interaction between
acks=allandmin.insync.replicasaffect producer availability during broker failures? - What is the recommended verification method to ensure durability guarantees are active before deploying to a multi-node production cluster?