Releases: karafka/waterdrop
Releases · karafka/waterdrop
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_classsetting for ability to replace underlying client with anything specific to a given env (dev, test, etc). - [Improvement] Introduce
Clients::Buffereduseful for writing specs that do not have to talk with Kafka (id-ilych) - [Improvement] Make
#producemethod 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_fullfromfalsetotrueas a default. - [Change] Rename
wait_on_queue_full_timeouttowait_backoff_on_queue_fullto match what it actually does. - [Enhancement] Introduce
wait_timeout_on_queue_fullwith 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
typefor queue full errors that references the appropriate public API method correctly.
v2.5.3
v2.5.2
v2.5.1
v2.5.0
- [Feature] Pipe all the errors including synchronous errors via the
error.occurred. - [Improvement] Pipe delivery errors that occurred not via the error callback using the
error.occurredchannel. - [Improvement] Introduce
WaterDrop::Errors::ProduceErrorandWaterDrop::Errors::ProduceManyErrorfor any inline raised errors that occur. You can get the original error by using the#cause. - [Improvement] Include
#dispatchedmessages handler in theWaterDrop::Errors::ProduceManyErrorerror, to be able to understand which of the messages were delegated tolibrdkafkaprior to the failure. - [Maintenance] Remove the
WaterDrop::Errors::FlushFailureErrorin favour of correct error that occurred to unify the error handling. - [Maintenance] Rename
Datadog::ListenertoDatadog::MetricsListenerto align with Karafka (#329). - [Fix] Do not flush when there is no data to flush in the internal buffer.
- [Fix] Wait on the final data flush for short-lived producers to make sure, that the message is actually dispatched by
librdkafkaor timeout.