I'm struggling to figure out what kind of guarantees a system with this producer configuration provides
acks=1
min.insync.replicas=1
retries=10
The first two parameters basically give me at-most-once
guarantees since the leader can write to local storage, reply to the producer and then die before replication to the followers.
That part is clear but the retries
would mean that when there are network issues between the producer and the cluster the leader may write to the local disk and fail to confirm this fact to the producer. After that, the producer would retry the writing and duplicate the message.
Is my reasoning correct that this setup technically provides no specific delivery guarantee? Or is there a process on the cluster that prevents the latter from happening?