v2.5.0
Warning
This version has introduced a regression in which an assert is triggered during PushTelemetry call. This happens when no metric is matched on the client side among those requested by broker subscription.
You won't face any problem if:
- Broker doesn't support KIP-714.
- KIP-714 feature is disabled on the broker side.
- KIP-714 feature is disabled on the client side. This is enabled by default. Set configuration
enable.metrics.push
tofalse
. - If KIP-714 is enabled on the broker side and there is no subscription configured there.
- If KIP-714 is enabled on the broker side with subscriptions that match the KIP-714 metrics defined on the client.
Having said this, we strongly recommend using v2.5.3
and above to not face this regression at all.
librdkafka v2.5.0 is a feature release.
- KIP-951
Leader discovery optimisations for the client (#4756, #4767). - Fix segfault when using long client id because of erased segment when using flexver. (#4689)
- Fix for an idempotent producer error, with a message batch not reconstructed
identically when retried (#4750) - Removed support for CentOS 6 and CentOS 7 (#4775).
- KIP-714 Client
metrics and observability (#4721).
Upgrade considerations
- CentOS 6 and CentOS 7 support was removed as they reached EOL
and security patches aren't publicly available anymore.
ABI compatibility from CentOS 8 on is maintained through pypa/manylinux,
AlmaLinux based.
See also Confluent supported OSs page (#4775).
Enhancements
- Update bundled lz4 (used when
./configure --disable-lz4-ext
) to
v1.9.4, which contains
bugfixes and performance improvements (#4726). - KIP-951
With this KIP leader updates are received through Produce and Fetch responses
in case of errors corresponding to leader changes and a partition migration
happens before refreshing the metadata cache (#4756, #4767).
Fixes
General fixes
- Issues: confluentinc/confluent-kafka-dotnet#2084
Fix segfault when a segment is erased and more data is written to the buffer.
Happens since 1.x when a portion of the buffer (segment) is erased for flexver or compression.
More likely to happen since 2.1.0, because of the upgrades to flexver, with certain string sizes like a long client id (#4689).
Idempotent producer fixes
- Issues: #4736
Fix for an idempotent producer error, with a message batch not reconstructed
identically when retried. Caused the error message "Local: Inconsistent state: Unable to reconstruct MessageSet".
Happening on large batches. Solved by using the same backoff baseline for all messages
in the batch.
Happens since 2.2.0 (#4750).
Checksums
Release asset checksums:
- v2.5.0.zip SHA256
644c1b7425e2241ee056cf8a469c84d69c7f6a88559491c0813a6cdeb5563206
- v2.5.0.tar.gz SHA256
3dc62de731fd516dfb1032861d9a580d4d0b5b0856beb0f185d06df8e6c26259