From 706b7b2bd834ce5d8b7179a610448fdca37243b1 Mon Sep 17 00:00:00 2001 From: "Rahul D. Ghosal" Date: Wed, 17 May 2023 13:17:50 -0400 Subject: [PATCH 1/6] fix(kafka): pass *args, **kwargs to TracedConsumer --- ddtrace/contrib/kafka/patch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ddtrace/contrib/kafka/patch.py b/ddtrace/contrib/kafka/patch.py index 36303361ae6..677bc612693 100644 --- a/ddtrace/contrib/kafka/patch.py +++ b/ddtrace/contrib/kafka/patch.py @@ -39,8 +39,8 @@ def __bool__(self): class TracedConsumer(confluent_kafka.Consumer): - def __init__(self, config): - super(TracedConsumer, self).__init__(config) + def __init__(self, config, *args, **kwargs): + super(TracedConsumer, self).__init__(config, *args, **kwargs) self._group_id = config["group.id"] def poll(self, timeout=1): From ce24a68f99a019e1a1c5fd592ecd8dcd96565359 Mon Sep 17 00:00:00 2001 From: Yun Kim Date: Wed, 17 May 2023 17:10:24 -0400 Subject: [PATCH 2/6] Add regression test --- tests/contrib/kafka/test_kafka.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/contrib/kafka/test_kafka.py b/tests/contrib/kafka/test_kafka.py index e2c26f4159e..d8e81e08a7f 100644 --- a/tests/contrib/kafka/test_kafka.py +++ b/tests/contrib/kafka/test_kafka.py @@ -1,4 +1,5 @@ import confluent_kafka +import logging import pytest import six @@ -63,6 +64,20 @@ def consumer(tracer): _consumer.close() +def test_consumer_created_with_logger_does_not_raise(tracer): + """Test that adding a logger to a Consumer init does not raise any errors.""" + logger = logging.getLogger() + consumer = confluent_kafka.Consumer( + { + "bootstrap.servers": BOOTSTRAP_SERVERS, + "group.id": GROUP_ID, + "auto.offset.reset": "earliest", + }, + logger=logger, + ) + consumer.close() + + @pytest.mark.parametrize("tombstone", [False, True]) @pytest.mark.snapshot(ignores=["metrics.kafka.message_offset"]) def test_message(producer, consumer, tombstone): From 9bd2dd64b24eb17981a465297317e148122ef431 Mon Sep 17 00:00:00 2001 From: Munir Abdinur Date: Wed, 17 May 2023 18:35:33 -0400 Subject: [PATCH 3/6] release note --- .../notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml diff --git a/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml b/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml new file mode 100644 index 00000000000..93b1bb005a6 --- /dev/null +++ b/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml @@ -0,0 +1,5 @@ +--- + +fixes: + - | + kafka: Fixes ``TypeError` raised when artibrary keyword arguments are passed to ``confluent_kafka.Consumer`` From 7a7ccf5bf83c4651212fa65e7de20f94e3c5065c Mon Sep 17 00:00:00 2001 From: Munir Abdinur Date: Wed, 17 May 2023 18:37:47 -0400 Subject: [PATCH 4/6] ws --- .../notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml b/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml index 93b1bb005a6..a3402d09293 100644 --- a/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml +++ b/releasenotes/notes/pass-args-kwargs-to-kafka-f3ca8128a2c4d612.yaml @@ -1,5 +1,4 @@ --- - fixes: - | kafka: Fixes ``TypeError` raised when artibrary keyword arguments are passed to ``confluent_kafka.Consumer`` From 729bd317ad444bbc2bd297054078368b52a508ea Mon Sep 17 00:00:00 2001 From: Munir Abdinur Date: Wed, 17 May 2023 18:54:21 -0400 Subject: [PATCH 5/6] fmt --- tests/contrib/kafka/test_kafka.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/contrib/kafka/test_kafka.py b/tests/contrib/kafka/test_kafka.py index d8e81e08a7f..c1d76d04973 100644 --- a/tests/contrib/kafka/test_kafka.py +++ b/tests/contrib/kafka/test_kafka.py @@ -1,5 +1,6 @@ -import confluent_kafka import logging + +import confluent_kafka import pytest import six From 394970979186add4de48e60982ed8c0115b6557a Mon Sep 17 00:00:00 2001 From: Munir Abdinur Date: Wed, 17 May 2023 23:08:59 -0400 Subject: [PATCH 6/6] comment --- tests/contrib/kafka/test_kafka.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/contrib/kafka/test_kafka.py b/tests/contrib/kafka/test_kafka.py index c1d76d04973..637b6c8aab3 100644 --- a/tests/contrib/kafka/test_kafka.py +++ b/tests/contrib/kafka/test_kafka.py @@ -68,6 +68,7 @@ def consumer(tracer): def test_consumer_created_with_logger_does_not_raise(tracer): """Test that adding a logger to a Consumer init does not raise any errors.""" logger = logging.getLogger() + # regression test for DataDog/dd-trace-py/issues/5873 consumer = confluent_kafka.Consumer( { "bootstrap.servers": BOOTSTRAP_SERVERS,