Revisions of librdkafka
Ana Guerrero (anag+factory)
accepted
request 1127461
from
Dirk Mueller (dirkmueller)
(revision 18)
- update to 2.3.0: * Partial support of topic identifiers. Topic identifiers in metadata response available through the new `rd_kafka_DescribeTopics` function * KIP-117 Add support for AdminAPI `DescribeCluster()` and `DescribeTopics()` * Return authorized operations in Describe Responses. * KIP-580: Added Exponential Backoff mechanism for retriable requests with `retry.backoff.ms` as minimum backoff and `retry.backoff.max.ms` as the maximum backoff, with 20% jitter (#4422). * Fixed ListConsumerGroupOffsets not fetching offsets for all the topics in a group with Apache Kafka version below 2.4.0. * Add missing destroy that leads to leaking partition structure memory when there are partition leader changes and a stale leader epoch is received (#4429). * Fix a segmentation fault when closing a consumer using the cooperative-sticky assignor before the first assignment * Fix for insufficient buffer allocation when allocating rack information (@wolfchimneyrock, #4449). * Fix for infinite loop of OffsetForLeaderEpoch requests on quick leader changes. (#4433). * Fix for stored offsets not being committed if they lacked the leader epoch (#4442). * Upgrade OpenSSL to v3.0.11 (while building from source) with various security fixes, check the release notes * Fix to ensure permanent errors during offset validation continue being retried and don't cause an offset reset (#4447). * Fix to ensure max.poll.interval.ms is reset when rd_kafka_poll is called with consume_cb (#4431).
Dominique Leuenberger (dimstar_suse)
accepted
request 1087789
from
Dirk Mueller (dirkmueller)
(revision 17)
- update to 2.1.1: * Avoid duplicate messages when a fetch response is received * in the middle of an offset validation request * Fix segmentation fault when subscribing to a non-existent topic and calling `rd_kafka_message_leader_epoch()` on the polled `rkmessage` * Fix a segmentation fault when fetching from follower and the partition lease expires while waiting for the result of a list offsets operation * Fix documentation for the admin request timeout, incorrectly stating -1 for infinite * timeout. That timeout can't be infinite. * Fix CMake pkg-config cURL require and use * pkg-config `Requires.private` field * Fixes certain cases where polling would not keep the consumer * in the group or make it rejoin it * Fix to the C++ set_leader_epoch method of TopicPartitionImpl, * that wasn't storing the passed value * Duplicate messages can be emitted when a fetch response is received in the middle of an offset validation request. Solved by avoiding a restart from last application offset when offset validation succeeds. * When fetching from follower, if the partition lease expires after 5 minutes, and a list offsets operation was requested to retrieve the earliest or latest offset, it resulted in segmentation fault. This was fixed by allowing threads different from the main one to call the `rd_kafka_toppar_set_fetch_state` function, given they hold the lock on the `rktp`. * In v2.1.0, a bug was fixed which caused polling any queue to reset the `max.poll.interval.ms`.
Dominique Leuenberger (dimstar_suse)
accepted
request 1083981
from
Marcus Meissner (msmeissn)
(revision 16)
Dominique Leuenberger (dimstar_suse)
accepted
request 1062038
from
Marcus Meissner (msmeissn)
(revision 15)
Dominique Leuenberger (dimstar_suse)
accepted
request 1004569
from
Marcus Meissner (msmeissn)
(revision 14)
Dominique Leuenberger (dimstar_suse)
accepted
request 946807
from
Marcus Meissner (msmeissn)
(revision 13)
Dominique Leuenberger (dimstar_suse)
accepted
request 928127
from
Marcus Meissner (msmeissn)
(revision 12)
Dominique Leuenberger (dimstar_suse)
accepted
request 901440
from
Marcus Meissner (msmeissn)
(revision 11)
Dominique Leuenberger (dimstar_suse)
accepted
request 888420
from
Dirk Mueller (dirkmueller)
(revision 10)
- update to 1.6.1: * Fatal idempotent producer errors are now also fatal to the transactional producer. This is a necessary step to maintain data integrity prior to librdkafka supporting KIP-360. Applications should check any transactional API errors for the is_fatal flag and decommission the transactional producer if the flag is set. * The consumer error raised by `auto.offset.reset=error` now has error-code set to `ERR__AUTO_OFFSET_RESET` to allow an application to differentiate between auto offset resets and other consumer errors. * Admin API and transactional `send_offsets_to_transaction()` coordinator requests, such as TxnOffsetCommitRequest, could in rare cases be sent multiple times which could cause a crash. * `ssl.ca.location=probe` is now enabled by default on Mac OSX since the librdkafka-bundled OpenSSL might not have the same default CA search paths as the system or brew installed OpenSSL. Probing scans all known locations. * Fatal idempotent producer errors are now also fatal to the transactional producer. * The transactional producer could crash if the transaction failed while `send_offsets_to_transaction()` was called. * Group coordinator requests for transactional `send_offsets_to_transaction()` calls would leak memory if the underlying request was attempted to be sent after the transaction had failed. * When gradually producing to multiple partitions (resulting in multiple underlying AddPartitionsToTxnRequests) sub-sequent partitions could get stuck in pending state under certain conditions. These pending partitions would not send queued messages to the broker and eventually trigger message timeouts, failing the current transaction. This is now fixed. * Committing an empty transaction (no messages were produced and no offsets were sent) would previously raise a fatal error due to invalid state
Dominique Leuenberger (dimstar_suse)
accepted
request 858094
from
Dirk Mueller (dirkmueller)
(revision 9)
- update to 1.5.3: * Fix a use-after-free crash when certain coordinator requests were retried. * Consumer would not filter out messages for aborted transactions if the messages were compressed (#3020). * Consumer destroy without prior `close()` could hang in certain cgrp states (@gridaphobe, #3127). * Fix possible null dereference in `Message::errstr()` (#3140). * The `roundrobin` partition assignment strategy could get stuck in an endless loop or generate uneven assignments in case the group members had asymmetric subscriptions (e.g., c1 subscribes to t1,t2 while c2 subscribes to t2,t3). (#3159)
Dominique Leuenberger (dimstar_suse)
accepted
request 845629
from
Marcus Meissner (msmeissn)
(revision 8)
Dominique Leuenberger (dimstar_suse)
accepted
request 830730
from
Dirk Mueller (dirkmueller)
(revision 7)
- Update library v1.3.0 -> 1.5.0 * Improved broker connection error reporting with more useful information and hints on the cause of the problem. * Consumer: Propagate errors when subscribing to unavailable topics (#1540) * Producer: Add `batch.size` producer configuration property (#638) * Add `topic.metadata.propagation.max.ms` to allow newly manually created topics to be propagated throughout the cluster before reporting them as non-existent. This fixes race issues where CreateTopics() is quickly followed by produce(). * Prefer least idle connection for periodic metadata refreshes, et.al., to allow truly idle connections to time out and to avoid load-balancer-killed idle connection errors (#2845) * Added `rd_kafka_event_debug_contexts()` to get the debug contexts for a debug log line (by @wolfchimneyrock). * Added Test scenarios which define the cluster configuration. * Added MinGW-w64 builds (@ed-alertedh, #2553) * `./configure --enable-XYZ` now requires the XYZ check to pass, and `--disable-XYZ` disables the feature altogether (@benesch) * Added `rd_kafka_produceva()` which takes an array of produce arguments for situations where the existing `rd_kafka_producev()` va-arg approach can't be used. * Added `rd_kafka_message_broker_id()` to see the broker that a message was produced or fetched from, or an error was associated with. * Added RTT/delay simulation to mock brokers. * Subscribing to non-existent and unauthorized topics will now propagate errors `RD_KAFKA_RESP_ERR_UNKNOWN_TOPIC_OR_PART` and `RD_KAFKA_RESP_ERR_TOPIC_AUTHORIZATION_FAILED` to the application through the standard consumer error (the err field in the message object). * Consumer will no longer trigger auto creation of topics, `allow.auto.create.topics=true` may be used to re-enable the old deprecated
Dominique Leuenberger (dimstar_suse)
accepted
request 790014
from
Marcus Meissner (msmeissn)
(revision 6)
Dominique Leuenberger (dimstar_suse)
accepted
request 746377
from
Dirk Mueller (dirkmueller)
(revision 5)
Dominique Leuenberger (dimstar_suse)
accepted
request 728486
from
Thomas Bechtold (tbechtold)
(revision 4)
- update to 1.1.0: * SASL OAUTHBEARER support * In-memory SSL certificates (PEM, DER, PKCS#12) support * Pluggable broker SSL certificate verification callback * ssl.endpoint.identification.algorithm=https (off by default) to validate the broker hostname matches the certificate. Requires OpenSSL >= 1.0.2. * Improved GSSAPI/Kerberos ticket refresh * SSL peer (broker) certificate verification is now enabled by default (disable with enable.ssl.certificate.verification=false) * %{broker.name} is no longer supported in sasl.kerberos.kinit.cmd since kinit refresh is no longer executed per broker, but per client instance. * SASL GSSAPI/Kerberos: Don't run kinit refresh for each broker, just per client instance. * SASL GSSAPI/Kerberos: Changed sasl.kerberos.kinit.cmd to first attempt ticket refresh, then acquire. * SASL: Proper locking on broker name acquisition. * Consumer: max.poll.interval.ms now correctly handles blocking poll calls, allowing a longer poll timeout than the max poll interval. * configure: Fix libzstd static lib detection * rdkafka_performance: Fix for Misleading "All messages delivered!" message - update to version 1.0.1: * Fix consumer stall when broker connection goes down * Fix AdminAPI memory leak when broker does not support request * Update/fix protocol error response codes * Treat ECONNRESET as standard Disconnects - update to version 1.0.0: * This release changes configuration defaults and deprecates a set of configuration properties, make sure to read the Upgrade considerations section from https://github.com/edenhill/librdkafka/releases/tag/v1.0.0 * add support for Idempotent Producer, providing exactly-once
Dominique Leuenberger (dimstar_suse)
accepted
request 658073
from
Thomas Bechtold (tbechtold)
(revision 3)
Dominique Leuenberger (dimstar_suse)
accepted
request 656799
from
Thomas Bechtold (tbechtold)
(revision 2)
- Don't BuildRequire lz4 on SLE12 - Do not use %make_build which is not available on SLE12
Dominique Leuenberger (dimstar_suse)
accepted
request 655553
from
Thomas Bechtold (tbechtold)
(revision 1)
Displaying all 18 revisions