[ 
https://issues.apache.org/jira/browse/KAFKA-20554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18078695#comment-18078695
 ] 

Julian Bergner commented on KAFKA-20554:
----------------------------------------

Mailing list discussion: 
https://lists.apache.org/thread/g3j73vjrrdhh2tqf1t9h89znp7bv1lqg

> Document or clarify acks=1 durability during planned leader transitions
> -----------------------------------------------------------------------
>
>                 Key: KAFKA-20554
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20554
>             Project: Kafka
>          Issue Type: Bug
>          Components: core, documentation, replication
>            Reporter: Julian Bergner
>            Assignee: Julian Bergner
>            Priority: Major
>
> With acks=1, Kafka can lose producer-acknowledged records during planned 
> leader transitions, not only during hard leader failure.
> I reproduced this on Kafka 4.1.2. In the affected cases, the producer 
> received successful acknowledgements, but some acknowledged records were not 
> later readable from the topic when consuming from the beginning. Running the 
> same harness with acks=all produced no record loss.
> This appears to be separate from 
> [KAFKA-19148|https://issues.apache.org/jira/browse/KAFKA-19148]. The new 
> leader is not necessarily unclean in Kafka's ISR sense. The issue is that 
> acks=1 allows the current leader to acknowledge records after writing them 
> only to its local log. If those records have not reached the high watermark, 
> a later clean leader election can still choose an ISR replica that does not 
> contain that local suffix. Once leadership moves, the demoted broker follows 
> the new leader epoch and truncates the divergent tail.
> In other words, unclean.leader.election.enable=false does not protect acks=1 
> acknowledgements, and min.insync.replicas only affects producer success 
> semantics when the producer uses acks=all.
> The purpose of this ticket is to clarify the expected behavior and discuss 
> the appropriate project follow-up. Possible outcomes may include documenting 
> this more explicitly as expected acks=1 behavior during planned leader 
> transitions, or considering whether planned leader-transition semantics 
> should be changed separately.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to