Using rd_kafka_topic_conf_set
with acks
set to 1
on a transactional producer crashes it
#4710
Open
7 tasks done
I'm working on implementing support for per-topic configuration properties for the producer (https://karafka.io/docs/Librdkafka-Configuration/#topic-configuration-properties) to the rdkafka Ruby bindings: karafka/rdkafka-ruby#449
All works well for non-transactional producers, and almost everything works as expected for transactional. Except one thing. Using a custom set of settings via
rd_kafka_topic_conf_new
+rd_kafka_topic_conf_set
works until the producer is transactional andacks
is provided with value different thanall
, causing a crash.This makes sense as transactional producer requires idempotence and when trying to create it without correct
acks
I will get the expected:However, when I provide
acks
viard_kafka_topic_conf_set
and then pass the reference fromrd_kafka_topic_conf_new
tord_kafka_topic_new
and then the topic reference via:I get the following crash (part of trace removed for readability):
How to reproduce
I can reproduce it consistently.
Checklist
IMPORTANT: We will close issues where the checklist has not been completed.
Please provide the following information:
2.3.0
confluentinc/cp-kafka:7.6.1 with KRaft
defaults
Linux 5.15.0-105-generic #115-Ubuntu SMP Mon Apr 15 09:52:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
debug=..
as necessary) from librdkafkaBroker log is pretty chill about this:
Proposed solution
This should be validated in the context of librdkafka producer instance and changing
acks
should not be allowed for transactional producers.The text was updated successfully, but these errors were encountered: