Releases: karafka/waterdrop
Releases · karafka/waterdrop
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.occurred
channel. - [Improvement] Introduce
WaterDrop::Errors::ProduceError
andWaterDrop::Errors::ProduceManyError
for any inline raised errors that occur. You can get the original error by using the#cause
. - [Improvement] Include
#dispatched
messages handler in theWaterDrop::Errors::ProduceManyError
error, to be able to understand which of the messages were delegated tolibrdkafka
prior to the failure. - [Maintenance] Remove the
WaterDrop::Errors::FlushFailureError
in favour of correct error that occurred to unify the error handling. - [Maintenance] Rename
Datadog::Listener
toDatadog::MetricsListener
to 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
librdkafka
or timeout.
v2.4.11
v2.4.10
v2.4.9
v2.4.8
v2.4.7
v2.4.6
- Set
statistics.interval.ms
to 5 seconds by default, so the defaults cover all the instrumentation out of the box.
Upgrade notes
If you want to disable librdkafka
statistics because you do not use them at all, update the kafka
statistics.interval.ms
setting and set it to 0
:
producer = WaterDrop::Producer.new
producer.setup do |config|
config.deliver = true
config.kafka = {
'bootstrap.servers': 'localhost:9092',
'statistics.interval.ms': 0
}
end