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

Add support for cooperative-sticky assignment strategy #339

Merged
merged 4 commits into from
Oct 9, 2023

Conversation

bestie
Copy link
Contributor

@bestie bestie commented May 31, 2023

Features:

  • Support for cooperative-sticky assignment strategy
  • Consumer class partition assign and revoke callbacks

Tests:

  • Refactor to share a common consumer

@bestie bestie changed the base branch from bestie/integration-test-performance to master May 31, 2023 13:56
@bestie bestie force-pushed the bestie/cooperative-sticky-assignment branch from 7291975 to 18bfabe Compare July 10, 2023 14:57
@bestie bestie force-pushed the bestie/cooperative-sticky-assignment branch 4 times, most recently from f12e4a2 to 4255529 Compare August 17, 2023 16:39
Features:
- Support for cooperative-sticky assignment strategy
- Consumer class partition assign and revoke callbacks

Tests:
- Refactor to share a common consumer
- Consistent and performant communication mechanism with test consumers (using pipes)
@bestie bestie force-pushed the bestie/cooperative-sticky-assignment branch from 4255529 to b7bdab4 Compare August 17, 2023 16:42
@bestie bestie marked this pull request as ready for review August 17, 2023 17:43
@deepredsky
Copy link
Contributor

The changes in this PR looks good. But there is reported issue about cooperative sticky failing with a crash on close prior to first rebalance.

Deep dive and some suggestion fix here: confluentinc/librdkafka#4312

@mensfeld
Copy link

mensfeld commented Aug 18, 2023

Deep dive and some suggestion fix here

Just a reminder that my karafka OSS code is released under LGPL and not MIT (talking about karafka, not rdkafka-ruby or waterdrop).

@mensfeld
Copy link

ah and this is a bypass. 2.2.1 librdkafka should be the one to include the correct fix and then it should be "passed" on to rdkafka-ruby via a dep bump.

@lairen lairen mentioned this pull request Aug 24, 2023
This provides an easier to use and more maintainable API by abstracting
rdkafka methods and objects.

rdkafka objects are available if necessary but discouraged via double
underscore prefix.
@bestie bestie force-pushed the bestie/cooperative-sticky-assignment branch from 9186de5 to 3ad7680 Compare September 18, 2023 13:00
@mensfeld
Copy link

mensfeld commented Oct 6, 2023

@deepredsky FYI there's going to be a 2.3.0 librdkafka release with the fix coming soon. I will bring it to rdkafka-ruby as soon as it reaches 2.3.1.

@dasch dasch merged commit c44330f into zendesk:master Oct 9, 2023
6 checks passed
@mensfeld
Copy link

mensfeld commented Nov 2, 2023

@deepredsky just a heads up: 2.3.0 has been released. I should ship 0.14.0 rdkafka-ruby in the upcoming weeks once I test it fully. All should be good then.

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

Successfully merging this pull request may close these issues.

4 participants