Mike Barlotta created CAMEL-20044:
-------------------------------------

             Summary: On rejoining consumer group Camel can set offset 
incorrectly causing messages to be replayed
                 Key: CAMEL-20044
                 URL: https://issues.apache.org/jira/browse/CAMEL-20044
             Project: Camel
          Issue Type: Bug
          Components: camel-kafka
    Affects Versions: 3.21.0
         Environment: {*}Reproducing (intermittent){*}:
 * Configure camel kafka consumer with following:
 ** autoCommitEnable = false
 ** allowManualCommit = true
 ** autoOffsetReset = earliest
 ** maxPollRecords = 1
 ** breakOnFirstError = true
 * Produce a series of records to kafka record to both partitions.
 * Throw an exception that is unhandled
 * commit the offset in the onException block

*Expected behavior:*
 * Application should consume the record 1 more time, then move on to the next 
offset in the partition

*Actual behavior:*
 * Application will often work. Occasionally will use the offset from another 
partition and assign that to the partition where the record failed. This can 
then result in the consumer replaying messages instead of moving forward.

I put together a sample that can recreate the error. However, given its 
intermittent nature it may not fail on each run. I have included the logs from 
3 different runs on my laptop from this test. Two of them show the error 
occurring. One of the them has a successful run. I have also provided more 
details in the README. 
 * https://github.com/CodeSmell/CamelKafkaOffset


This seems related to other issues with how Camel processes the 
_breakOnFirstError_ attribute. 
 * CAMEL-14935
 * CAMEL-18350
 * CAMEL-19894
            Reporter: Mike Barlotta






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

Reply via email to