[ https://issues.apache.org/jira/browse/KAFKA-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16175107#comment-16175107 ]
ASF GitHub Bot commented on KAFKA-5793: --------------------------------------- GitHub user tedyu opened a pull request: https://github.com/apache/kafka/pull/3935 MINOR: improvement on top of KAFKA-5793: Tighten up the semantics of the OutOfOrderSequenceException Simplified the condition in Sender#failBatch() Added log in TransactionManager#updateLastAckedOffset() You can merge this pull request into a Git repository by running: $ git pull https://github.com/tedyu/kafka trunk Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/3935.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3935 ---- commit 7875acaa1f52b568aa190ac9b00c5d77f35b8219 Author: tedyu <yuzhih...@gmail.com> Date: 2017-09-21T17:00:39Z MINOR: improvement on top of KAFKA-5793: Tighten up the semantics of the OutOfOrderSequenceException ---- > Tighten up situations where OutOfOrderSequence may be returned > -------------------------------------------------------------- > > Key: KAFKA-5793 > URL: https://issues.apache.org/jira/browse/KAFKA-5793 > Project: Kafka > Issue Type: Sub-task > Affects Versions: 0.11.0.0 > Reporter: Apurva Mehta > Assignee: Apurva Mehta > Fix For: 1.0.0 > > > Details of the problem are provided here: > https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Exactly+Once+-+Solving+the+problem+of+spurious+OutOfOrderSequence+errors > A quick summary follows: > In the discussion of KIP-185: Make exactly once in order delivery per > partition the default producer setting, the following point regarding the > OutOfOrderSequenceException was raised: > 1. The OutOfOrderSequenceException indicates that there has been data loss on > the broker.. ie. a previously acknowledged message no longer exists. For most > part, this should only occur in rare situations (simultaneous power outages, > multiple disk losses, software bugs resulting in data corruption, etc.). > 2. However, there is another perfectly normal scenario where data is removed: > in particular, data could be deleted because it is old and crosses the > retention threshold. > Hence, if a producer remains inactive for longer than a topic's retention > period, we could get an OutOfOrderSequence which is a false positive: the > data is removed through valid processes, and this isn't an error. > 3. We would like to eliminate the possibility of getting spurious > OutOfOrderSequenceExceptions – when you get it, it should always mean data > loss and should be taken very seriously. -- This message was sent by Atlassian JIRA (v6.4.14#64029)