v2.10.1
librdkafka v2.10.1 is a maintenance release:
- Fix to add locks when updating the metadata cache for the consumer
after no broker connection is available (@marcin-krystianc, #5066). - Fix to the re-bootstrap case when
bootstrap.servers
isNULL
and
brokers were added manually throughrd_kafka_brokers_add
(#5067). - Fix an issue where the first message to any topic produced via
producev
or
produceva
was delivered late (by up to 1 second) (#5032). - Fix for a loop of re-bootstrap sequences in case the client reaches the
all brokers down
state (#5086). - Fix for frequent disconnections on push telemetry requests
with particular metric configurations (#4912). - Avoid copy outside boundaries when reading metric names in telemetry
subscription (#5105) - Metrics aren't duplicated when multiple prefixes match them (#5104)
Fixes
General fixes
- Issues: #5088.
Fix for a loop of re-bootstrap sequences in case the client reaches the
all brokers down
state. The client continues to select the
bootstrap brokers given they have no connection attempt and doesn't
re-connect to the learned ones. In case it happens a broker restart
can break the loop for the clients using the affected version.
Fixed by giving a higher chance to connect to the learned brokers
even if there are new ones that never tried to connect.
Happens since 2.10.0 (#5086). - Issues: #5057.
Fix to the re-bootstrap case whenbootstrap.servers
isNULL
and
brokers were added manually throughrd_kafka_brokers_add
.
Avoids a segmentation fault in this case.
Happens since 2.10.0 (#5067).
Producer fixes
- In case of
producev
orproduceva
, the producer did not enqueue a leader
query metadata request immediately, and rather, waited for the 1 second
timer to kick in. This could cause delays in the sending of the first message
by up to 1 second.
Happens since 1.x (#5032).
Consumer fixes
- Issues: #5051.
Fix to add locks when updating the metadata cache for the consumer.
It can cause memory corruption or use-after-free in case
there's no broker connection and the consumer
group metadata needs to be updated.
Happens since 2.10.0 (#5066).
Telemetry fixes
- Issues: #5106.
Fix for frequent disconnections on push telemetry requests
with particular metric configurations.
ANULL
payload is sent in a push telemetry request when
an empty one is needed. This causes disconnections every time the
push is sent, only when metrics are requested and
some metrics are matching the producer but none the consumer
or the other way around.
Happens since 2.5.0 (#4912). - Issues: #5102.
Avoid copy outside boundaries when reading metric names in telemetry
subscription. It can cause that some metrics aren't matched.
Happens since 2.5.0 (#5105). - Issues: #5103.
Telemetry metrics aren't duplicated when multiple prefixes match them.
Fixed by keeping track of the metrics that already matched.
Happens since 2.5.0 (#5104).
Checksums
Release asset checksums:
- v2.10.1.zip SHA256
7cb72c4f3d162f50d30d81fd7f7ba0f3d9e8ecd09d9b4c5af7933314e24dd0ba
- v2.10.1.tar.gz SHA256
75f59a2d948276504afb25bcb5713a943785a413b84f9099d324d26b2021f758