Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-5731 Corrected how the sink task worker updates the last committed offsets (0.10.2) #3717

Closed
wants to merge 10 commits into from

Conversation

rhauch
Copy link
Contributor

@rhauch rhauch commented Aug 22, 2017

Prior to this change, it was possible for the synchronous consumer commit request to be handled before previously-submitted asynchronous commit requests. If that happened, the out-of-order handlers improperly set the last committed offsets, which then became inconsistent with the offsets the connector task is working with.

This change ensures that the last committed offsets are updated only for the most recent commit request, even if the consumer reorders the calls to the callbacks.

This change also backports the fix for KAFKA-4942, which was minimal that caused the new tests to fail.

This is for the 0.10.2 branch; see #3662 for the equivalent and already-approved PR for trunk and #3672 for the equivalent and already-approved PR for the 0.11.0 branch.

…ted offsets

Prior to this change, it was possible for the synchronous consumer commit request to be handled before previously-submitted asynchronous commit requests. If that happened, the out-of-order handlers improperly set the last committed offsets, which then became inconsistent with the offsets the connector task is working with.

This change ensures that the last committed offsets are updated only for the most recent commit request, even if the consumer reorders the calls to the callbacks.
Corrects the test case added in the previous commit to properly revoke the existing partition assignments before adding new partition assigments.
# Conflicts:
#	connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerSinkTask.java
# Conflicts:
#	connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerSinkTask.java
…tarted

Backported the fix for this issue, which was fixed in 0.11.0.0
@asfgit
Copy link

asfgit commented Aug 23, 2017

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.10/3774/
Test PASSed (JDK 7 and Scala 2.10).

@ewencp
Copy link
Contributor

ewencp commented Aug 23, 2017

LGTM, thanks for backporting.

asfgit pushed a commit that referenced this pull request Aug 23, 2017
…tted offsets

Prior to this change, it was possible for the synchronous consumer commit request to be handled before previously-submitted asynchronous commit requests. If that happened, the out-of-order handlers improperly set the last committed offsets, which then became inconsistent with the offsets the connector task is working with.

This change ensures that the last committed offsets are updated only for the most recent commit request, even if the consumer reorders the calls to the callbacks.

This change also backports the fix for KAFKA-4942, which was minimal that caused the new tests to fail.

**This is for the `0.10.2` branch; see #3662 for the equivalent and already-approved PR for `trunk` and #3672 for the equivalent and already-approved PR for the `0.11.0` branch.**

Author: Randall Hauch <rhauch@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #3717 from rhauch/kafka-5731-0.10.2
@ewencp
Copy link
Contributor

ewencp commented Aug 23, 2017

@rhauch committed, you'll need to close out the PR

@rhauch rhauch closed this Aug 23, 2017
@rhauch
Copy link
Contributor Author

rhauch commented Aug 23, 2017

Thanks, @ewencp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants