Chris Egerton created KAFKA-13472:
-------------------------------------

             Summary: Connect can lose track of last committed offsets for 
topic partitions after partial consumer revocation
                 Key: KAFKA-13472
                 URL: https://issues.apache.org/jira/browse/KAFKA-13472
             Project: Kafka
          Issue Type: Bug
          Components: KafkaConnect
    Affects Versions: 3.1.0, 3.0.1
            Reporter: Chris Egerton
            Assignee: Chris Egerton


The Connect framework tracks the last successfully-committed offsets for each 
topic partition that is currently assigned to the consumer of each sink task. 
If a sink task throws an exception from {{{}SinkTask::preCommit{}}}, the 
consumer is "rewound" by seeking to those last successfully-committed offsets 
for each topic partition, so that the same records can be redelivered to the 
task again.

With the changes from KAFKA-12487, we failed to correctly update the logic for 
tracking these last-committed offsets which can cause topic partitions to be 
missing from them after partial revocation of topic partitions from the 
consumer. Specifically, we make the assumption that, whenever an offset commit 
succeeds, the offsets that were successfully committed constitute the entirely 
of the last-committed offsets for the task; when a partial consumer revocation 
takes place, we only commit offsets for some of the topic partitions assigned 
to the task's producer, and this assumption fails.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to