Looking at Jun’s ApacheCon slides (
http://www.slideshare.net/junrao/kafka-replication-apachecon2013) slide 21
titled, ‘Data Flow in Replication’ there are three possible durability
configurations which tradeoff latency for greater persistence guarantees.
The third row is the ‘no data loss’ configuration option where the producer
only receives an ack from the broker once the message(s) are committed by
the leader and peers. Does this commit also mean the message(s) are
flushed to disk? I know there is a separate configuration setting,
log.flush.interval.messages, but I thought in sync mode the producer
doesn’t receive an ack until message(s) are committed and flushed to disk.
Please correct me if my understanding is incorrect.