v1.7.0 #3384
Magnus Edenhill (edenhill)
started this conversation in
General
v1.7.0
#3384
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
librdkafka v1.7.0
librdkafka v1.7.0 is feature release:
Requires Apache Kafka 2.5 or later.
ssl.engine.location) by AdiNigam (@adinigam) and ajbarb.Enhancements
connections.max.idle.msto automatically close idle brokerconnections.
This feature is disabled by default unless
bootstrap.serverscontainsthe string
azurein which case the default is set to <4 minutes to improveconnection reliability and circumvent limitations with the Azure load
balancers (see Robustness and resiliency on Azure #3109 for more information).
Upgrade considerations
oauthbearer_token_refresh_cb()was missing aHandle *argument that has now been added. This is a breaking change but the original
function signature is considered a bug.
This change only affects C++ OAuth developers.
session.timeout.msdefault was changed from 10 to 45 seconds to make consumer groups more
robust and less sensitive to temporary network and cluster issues.
consumer_lagis now using thecommitted_offset,while the new
consumer_lag_storedis usingstored_offset(offset to be committed).
This is more correct than the previous
consumer_lagwhich was usingeither
committed_offsetorapp_offset(last message passedto application).
Fixes
General fixes
update (such as bootstrap to proper broker transformation) could finish after
the topic metadata cache was updated, leading to existing brokers seemingly
being not available.
One occurrence of this issue was query_watermark_offsets() that could return
ERR__UNKNOWN_PARTITIONfor existing partitions shortly after theclient instance was created.
TLS_client_method()(on OpenSSL >= 1.1.0) instead of the deprecated and outdated
SSLv23_client_method().be delayed up to 1 second if a
group.idortransactional.idwas configured (Metadata requests on startup are slow (regression) #3305).
the broker thread io/op poll loop when a wakeup op is received.
rd_kafka_new()which made this call blocking if the refresh commandwas taking long. The refresh is now performed by the background rdkafka
main thread.
of an SSL connection.
rather than SSL errors, since these disconnects are at the transport level
(e.g., incorrect listener, flaky load balancer, etc) and not due to SSL
issues.
brokers[].throttlestatistics object.
are overwritten by explicitly setting a
default_topic_conf.Consumer fixes
consume_batch..()call the alreadyaccumulated messages for revoked partitions were not purged, which would
pass messages to the application for partitions that were no longer owned
by the consumer. Fixed by Jing Liu (@jliunyu). Don't call kinit cmd from rd_kafka_new() #3340.
Issues with "partition.assignment.strategy=cooperative-sticky" #3306.
cause further successfully committed messages in the same Fetch response to
be ignored, resulting in consumer-side message loss.
A log message along the lines
Abort txn ctrl msg bad order at offset 7501: expected before or at 7702: messages in aborted transactions may be delivered to the applicationwould be seen.
This is a rare occurrence where a transactional producer would register with
the partition but not produce any messages before aborting the transaction.
topic.metadata.refresh.interval.ms: if this property was set too lowit would cause cached metadata to be unusable and new metadata to be fetched,
which could delay the time it took for a rebalance to settle.
It now correctly uses
metadata.max.age.msinstead.which could result in "Illegal generation" errors. This is now fixed, the
timed auto committer is only employed in the steady state when no rebalances
are taking places. Offsets are still auto committed when partitions are
revoked.
the application as they are retried automatically.
rktp_started) on consumer termination(introduced in v1.6.0).
building with MSVC (Azat Khuzhin (@azat))
cooperative-stickyassignor didnot actively Leave the group on unsubscribe(). This delayed the
rebalance for the remaining group members by up to
session.timeout.ms.Producer fixes
flush()was not respected when delivery reportswere scheduled as events (such as for confluent-kafka-go) rather than
callbacks.
purge()which could cause newlycreated partition objects, or partitions that were changing leaders, to
not have their message queues purged. This could cause
abort_transaction()to time out. This issue is now fixed.1 second, regardless of
linger.ms, due to rate-limiting of internalqueue wakeups. This is now fixed by not rate-limiting queue wakeups but
instead limiting them to one wakeup per queue reader poll. Random latency spikes when producing messages #2912.
Transactional Producer fixes
transactional producer and will raise a
txn_requires_abort()error.produce()andcommit_transaction()and before any partitions had been registered with the coordinator, the
messages would time out but the commit would succeed because nothing
had been sent to the coordinator. This is now fixed.
commit_transaction()waschecking the current transaction state an invalid state transaction could
occur which in turn would trigger a assertion crash.
This issue showed up as "Invalid txn state transition: .." crashes, and is
now fixed by properly synchronizing both checking and transition of state.
This discussion was created from the release v1.7.0.
Beta Was this translation helpful? Give feedback.
All reactions