In our case, the minimum in-sync replicas is set to 2.

Given that, what will be expected behavior for the scenario I outlined?

Sincerely,
Anindya Haldar
Oracle Responsys


> On Jan 15, 2020, at 6:38 AM, Ismael Juma <ism...@juma.me.uk> wrote:
> 
> 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
>> 
>> 

Reply via email to