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

Upgrade to rdkafka 0.10.0 #263

Merged
merged 5 commits into from
Sep 20, 2021
Merged

Upgrade to rdkafka 0.10.0 #263

merged 5 commits into from
Sep 20, 2021

Conversation

malandrina
Copy link
Contributor

Why?

My team maintains a stream processing application that uses Racecar. Recently we learned that a known issue with librdkafka 1.4.0 (confluentinc/librdkafka#2830) negatively impacts the performance of our application. The latest version of rdkafka, 0.10.0, upgrades the gem to use librdkafka 1.5.0. This PR proposes updating Racecar to use rdkafka 0.10.0.

References:

How?

I made the following changes:

  • Updated racecar.gemspec to require rdkafka 0.10.0
  • Updated test setup in spec/integration/consumer_spec.rb to explicitly create topics instead of relying on Kafka to automatically create the topics. librdkafka 1.5.0+ does not support topic auto-creation.
  • Committed the changes to Gemfile.lock that were generated by running bin/setup

Testing

I followed the instructions for setting up the Racecar development environment in the README and confirmed (non-dockerized) tests pass locally by running bundle exec rspec.

Considerations

  • I noticed that spec/integration/consumer_spec.rb tests sometimes fail when I run bundle exec rspec but they always pass when I run bundle exec rspec spec/integration/consumer_spec.rb. I observed this on both master and my branch. I took care to stop and restart the Docker services after each test run.
  • As a stopgap, my team is currently using gems built from our own forks of the racecar and rdkafka-ruby repos in production. Merging and releasing the changes in this PR will allow us to avoid using our forks.

Thanks in advance for your time! 🙇‍♀️

* This change is necessary because librdkafka 1.5.0 does not support auto-creation of topics
* The changes in this commit were produced by running `bin/setup` after
updating racecar.gemspec to require rdkafka 0.10.0
Copy link
Contributor

@dasch dasch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks you! Can you also update the changelog?

@malandrina
Copy link
Contributor Author

malandrina commented Sep 17, 2021

Thanks @dasch!

malandrina@bd1c2a4 malandrina@410648c updates the changelog based on prior art in #222.

Copy link
Contributor

@dasch dasch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@dasch dasch merged commit 8a30dae into zendesk:master Sep 20, 2021
@malandrina malandrina deleted the upgrade-rdkafka branch September 20, 2021 15:38
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.

2 participants