C0urante opened a new pull request #10563:
URL: https://github.com/apache/kafka/pull/10563


   [Jira](https://issues.apache.org/jira/browse/KAFKA-12487)
   
   Currently, the `WorkerSinkTask`'s consumer rebalance listener (and related 
logic) is hardcoded to assume eager rebalancing, which means that all 
partitions are revoked any time a rebalance occurs and then the set of 
partitions included in `onPartitionsAssigned` is assumed to be the complete 
assignment for the task. Not only does this cause failures when a cooperative 
consumer protocol is used, it fails to take advantage of the benefits provided 
by cooperative protocols.
   
   These changes alter framework logic to not only not break when a cooperative 
consumer protocol is used for a sink connector, but to reap the benefits of it 
as well, by not revoking partitions unnecessarily from tasks just to reopen 
them immediately after the rebalance has completed.
   
   This change will be necessary in order to support 
[KIP-726](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177048248),
 which currently proposes that the default consumer partition assignor be 
changed to the `CooperativeStickyAssignor`.
   
   Two integration tests are added to verify sink task behavior with both eager 
and cooperative consumer protocols, and new and existing unit tests are adopted 
as well.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to