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. Thanks, Jonathan