From kafka documentation
When a producer sets acks to "all" (or "-1"), this min.insync.replica configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful.
It says when the minimum number of in-sync replicas acknowledge, the write is successful but when i run performance test with min.insync.replica
as 1 and 3 (for a topic of partition=1 and R.F=5 in 5 broker setup), the performance of kafka producer, with acks='all'
, is same.
So, Does min.insync.replica
per-topic configuration affects Kafka producer throughput (ran in isolation) with acks="all"
?
min.insync.replica
is the minimum number of replicas that must acknowledge that data was received successfully for a write to be successful.
Throughput will be definitely affected if you set min.insync.replica
to 3 and acks=all
but won't be affected if you set acks=0
or 1
, but when you do this there is a possibility of data loss if the leader fails.