To all the in-sync replicas. You can set the minimum number of in-sync replicas via the min.insync.replicas topic/broker config.
Ismael On Tue, Jan 14, 2020 at 11:11 AM Anindya Haldar <anindya.hal...@oracle.com> wrote: > I have a question related to the semantics of a producer send and the get > calls on the future returned by the send call. > > - It is a Java application, using the Kafka Java client library > - The application is set up to use 3 replicas and using acks=all for the > producer > - the application is using a non-zero value for linger.ms and batch.size > parameters > - The application is using a single non-transactional Kafka producer > instance, shared across a number of threads > > With that, > > - Any application thread makes a send() call on the producer. > - Then the same thread calls get() on the future returned by the last > send() call > - The get() call on the future returns after it gets the acknowledgement > from the system for the message send > > At this point, is it guaranteed that the message has actually been written > (but may not be committed by calling fsync) to ALL of the replicas’ > filesystems? > > Sincerely, > Anindya Haldar > Oracle Responsys > >