-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add cooperative-sticky partition_assignment_strategy option to kafka_reader #882
Conversation
Logs confirming incremental rebalancing is being used: Worker that is shutting down revoking its partition:
Worker that received a partition:
Worker that did not have to rebalance:
|
What steps did you take to validate these changes? We should think about how we can test this on some larger topics to see the difference in behavior. Maybe @jeffmontagna and @briend can think about what the impact of |
I ran a kafka_reader job locally in kind, starting with 1 worker. Then I scaled up to 3 workers, down to 2, then to 1. The logs above show a point when the third worker is shutting down and giving up its partition. I could make a dev docker image from this PR and test it in the dev environment on a large job with many workers. That would make any issues more obvious. |
This needs rebasing. |
f2fd04c
to
5fa79d5
Compare
This PR makes the following changes:
kafka_reader
andkafka_reader_api
to allow forcooperative-sticky
as apartition_assignment_strategy
option.minimum_teraslice_version
to 2.9.0, as this version uses node-rdkafka v3.2.0, which is the first version to allow for incremental rebalancing usingcooperative-sticky
.partition_assignment_strategy
option fromkafka_sender
,kafka_sender_api
andkafka_dead_letter
. It looks like these might have been copy/paste errors, as this is not a valid property on a kafka producer config.Ref: #869, #873