NotEnoughReplicasException during acks=all production deployment
24K reputation · 24 Jan 2020, 22:38 UTC
Producer Failure in High-Durability Configurations
In a production Kafka cluster (version 3.x), a producer is configured with acks=all to ensure maximum data durability. While this configuration functions without issue in a local single-node environment, it triggers a NotEnoughReplicasException when deployed to a multi-broker production cluster.
The cluster is configured with a specific min.insync.replicas threshold. There is uncertainty regarding the exact interaction between the available synchronized replicas and the producer's request when a subset of brokers becomes unavailable or lags behind the leader.
- What is the precise relationship between the
min.insync.replicassetting and theacks=allproducer requirement? - Under what specific broker state conditions will this exception be thrown despite the leader being available?