librdkafka v2.6.1 is a maintenance release:
- Fix for a Fetch regression when connecting to Apache Kafka < 2.7 (#4871).
- Fix for an infinite loop happening with cooperative-sticky assignor
under some particular conditions (#4800). - Fix for retrieving offset commit metadata when it contains
zeros and configured withstrndup
(#4876) - Fix for a loop of ListOffset requests, happening in a Fetch From Follower
scenario, if such request is made to the follower (#4616, #4754, @kphelps). - Fix to remove fetch queue messages that blocked the destroy of rdkafka
instances (#4724) - Upgrade Linux dependencies: OpenSSL 3.0.15, CURL 8.10.1 (#4875).
- Upgrade Windows dependencies: MSVC runtime to 14.40.338160.0,
zstd 1.5.6, zlib 1.3.1, OpenSSL 3.3.2, CURL 8.10.1 (#4872). - SASL/SCRAM authentication fix: avoid concatenating
client side nonce once more, as it's already prepended in server sent nonce (#4895). - Allow retrying for status code 429 ('Too Many Requests') in HTTP requests for
OAUTHBEARER OIDC (#4902).
Fixes
General fixes
- SASL/SCRAM authentication fix: avoid concatenating
client side nonce once more, as it's already prepended in
server sent nonce.
librdkafka was incorrectly concatenating the client side nonce again, leading to this fix being made on AK side, released with 3.8.1, withendsWith
instead ofequals
.
Happening since v0.0.99 (#4895).
Consumer fixes
- Issues: #4870
Fix for a Fetch regression when connecting to Apache Kafka < 2.7, causing
fetches to fail.
Happening since v2.6.0 (#4871) - Issues: #4783.
A consumer configured with thecooperative-sticky
partition assignment
strategy could get stuck in an infinite loop, with corresponding spike of
main thread CPU usage.
That happened with some particular orders of members and potential
assignable partitions.
Solved by removing the infinite loop cause.
Happening since: 1.6.0 (#4800). - Issues: #4649.
When retrieving offset metadata, if the binary value contained zeros
and librdkafka was configured withstrndup
, part of
the buffer after first zero contained uninitialized data
instead of rest of metadata. Solved by avoiding to use
strndup
for copying metadata.
Happening since: 0.9.0 (#4876). - Issues: #4616
When an out of range on a follower caused an offset reset, the corresponding
ListOffsets request is made to the follower, causing a repeated
"Not leader for partition" error. Fixed by sending the request always
to the leader.
Happening since 1.5.0 (tested version) or previous ones (#4616, #4754, @kphelps). - Issues:
Fix to remove fetch queue messages that blocked the destroy of rdkafka
instances. Circular dependencies from a partition fetch queue message to
the same partition blocked the destroy of an instance, that happened
in case the partition was removed from the cluster while it was being
consumed. Solved by purging internal partition queue, after being stopped
and removed, to allow reference count to reach zero and trigger a destroy.
Happening since 2.0.2 (#4724).
Checksums
Release asset checksums:
- v2.6.1.zip SHA256
b575811865d9c0439040ccb2972ae6af963bc58ca39d433243900dddfdda79cf
- v2.6.1.tar.gz SHA256
0ddf205ad8d36af0bc72a2fec20639ea02e1d583e353163bf7f4683d949e901b