[ https://issues.apache.org/jira/browse/KAFKA-1211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14073422#comment-14073422 ]
Guozhang Wang commented on KAFKA-1211: -------------------------------------- Jun, I think in your review of KAFKA-1430's patch, you are already suggesting to wait for leader HW to be larger than the produce offset instead of just log end offset for ack=-1. So as for ack > 1, but not = to num.replicas, since data loss may happen anyways because of the leader election logic may choose a follower which does not have all the committed data, this issue would just potentially increase the data loss by a bit under such scenarios. For its complexity and the benefit maybe it is not an optimization worth doing? > Hold the produce request with ack > 1 in purgatory until replicas' HW has > larger than the produce offset > -------------------------------------------------------------------------------------------------------- > > Key: KAFKA-1211 > URL: https://issues.apache.org/jira/browse/KAFKA-1211 > Project: Kafka > Issue Type: Bug > Reporter: Guozhang Wang > Assignee: Guozhang Wang > Fix For: 0.9.0 > > > Today during leader failover we will have a weakness period when the > followers truncate their data before fetching from the new leader, i.e., > number of in-sync replicas is just 1. If during this time the leader has also > failed then produce requests with ack >1 that have get responded will still > be lost. To avoid this scenario we would prefer to hold the produce request > in purgatory until replica's HW has larger than the offset instead of just > their end-of-log offsets. -- This message was sent by Atlassian JIRA (v6.2#6252)