Jason Gustafson created KAFKA-5731:
--------------------------------------
Summary: Connect WorkerSinkTask out of order offset commit can
lead to inconsistent state
Key: KAFKA-5731
URL: https://issues.apache.org/jira/browse/KAFKA-5731
Project: Kafka
Issue Type: Bug
Components: KafkaConnect
Reporter: Jason Gustafson
Fix For: 1.0.0
In Connect's WorkerSinkTask, we do sequence number validation to ensure that
offset commits are handled in the right order
(https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerSinkTask.java#L199).
Unfortunately, for asynchronous commits, the {{lastCommittedOffsets}} field is
overridden regardless of this sequence check as long as the response had no
error
(https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerSinkTask.java#L284).
Hence if we get an out of order commit, then the internal state will be
inconsistent. To fix this, we should only override {{lastCommittedOffsets}}
after sequence validation.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)