Upgrading to Karafka 2.3
As always, please make sure you have upgraded to the most recent version of
2.2 before upgrading to
Also, remember to read and apply our standard upgrade procedures.
Web UI Upgrade
2.3 works only with Web UI
>= 0.8.0. Please follow the Web UI upgrade procedure.
Shutdown Procedure Updates
Thanks to recent advancements in
rdkafka-ruby, shutdown patches needed in previous versions were removed in
2.3,, and the whole shutdown procedure has been improved. While we saw only performance and stability improvements in those areas, we would like to highlight this change.
Potential CLI Inclusions/Exclusions Inconsistency Fix
While this change has already been introduced in
2.2 as a fix, we wanted to make you aware that all the CLI inclusion and exclusion options, such as
--exclude-consumer-groups expect a list of arguments separated by a comma and NOT by space:
# Wrong, topics separated with a space
bundle exec karafka server --exclude-topics topic1 topic2
# Good, topics separated with a comma
bundle exec karafka server --exclude-topics topic1,topic2
This change is a regression introduced because of the removal of the Thor gem.
Karafka no longer relies on
concurrent-ruby. If you've indirectly relied on it being included in your applications, you must add it as a direct dependency yourself.
Kubernetes::LivenessListener No Longer Starts until Karafka Server Starts
Kubernetes::LivenessListener would start immediately after initialization. This is why it was recommended to create it conditionally by using an external flag similar to this one:
if ENV['KARAFKA_LIVENESS'] == true
listener = ::Karafka::Instrumentation::Vendors::Kubernetes::LivenessListener.new(
# config goes here...
2.3, such a flag is no longer needed as the listener begins listening on the desired port only when the associated Karafka server process is started. The listener will not bind itself to processes other than the Karafka server.