Releases: karafka/waterdrop
Releases · karafka/waterdrop
v2.6.5
v2.6.4
v2.6.3
- [Change] Use
Concurrent::AtomicFixnum
to track operations in progress to prevent potential race conditions on JRuby and TruffleRuby (not yet supported but this is for future usage). - [Change] Require
karafka-rdkafka
>= 0.13.2
. - [Change] Require 'karafka-core'
>= 2.1.1
v2.6.2
- [Refactor] Introduce a counter-based locking approach to make sure, that we close the producer safely but at the same time not to limit messages production with producing lock.
- [Refactor] Make private methods private.
- [Refactor] Validate that producer is not closed only when attempting to produce.
- [Refactor] Improve one 5 minute long spec to run in 10 seconds.
- [Refactor] clear client assignment after closing.
v2.6.1
v2.6.1.beta1
- [Refactor] Remove no longer needed patches.
- [Fix] Fork detection on a short lived processes seems to fail. Clear the used parent process client reference not to close it in the finalizer (#356).
- [Change] Require
karafka-rdkafka
>= 0.13.0.beta2
. - [Change] Require 'karafka-core'
>= 2.1.0
v2.6.0
- [Improvement] Introduce
client_class
setting for ability to replace underlying client with anything specific to a given env (dev, test, etc). - [Improvement] Introduce
Clients::Buffered
useful for writing specs that do not have to talk with Kafka (id-ilych) - [Improvement] Make
#produce
method private to avoid confusion and make sure it is not used directly (it is not part of the official API). - [Change] Change
wait_on_queue_full
fromfalse
totrue
as a default. - [Change] Rename
wait_on_queue_full_timeout
towait_backoff_on_queue_full
to match what it actually does. - [Enhancement] Introduce
wait_timeout_on_queue_full
with proper meaning. That is, this represents time after which despite backoff the error will be raised. This should allow to raise an error in case the backoff attempts were insufficient. This prevents from a case, where upon never deliverable messages we would end up with an infinite loop. - [Fix] Provide
type
for queue full errors that references the appropriate public API method correctly.