Hi,
We're using Kafka 0.8.1.1
Here is the snippet from documentation about request.required.acks
   
   - 1, which means that the producer gets an acknowledgement after the leader 
replica has received the data. This option provides better durability as the 
client waits until the server acknowledges the request as successful (only 
messages that were written to the now-dead leader but not yet replicated will 
be lost).
There is the concept of "committed message" in this blog post
https://engineering.linkedin.com/kafka/intra-cluster-replication-apache-kafka

My guess is that leader updates the High Watermark once all replicas have 
"accepted the message" and the message appended to the log transitions to the 
"committed" state.  So, for request.required.acks = 1, the producer sync call 
will return when the message is appended to log but not committed. Could 
someone confirm if this is line with the implementation ?

Reply via email to