From 3b1cb8d64c9000d99e51d9b64aa8b29f72c5e46c Mon Sep 17 00:00:00 2001 From: PratRanj07 Date: Mon, 18 Nov 2024 15:41:39 +0530 Subject: [PATCH 1/5] add integration test to check for added group support in config apis --- .../admin/test_incremental_alter_configs.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/integration/admin/test_incremental_alter_configs.py b/tests/integration/admin/test_incremental_alter_configs.py index 24428e6f1..86ba30a69 100644 --- a/tests/integration/admin/test_incremental_alter_configs.py +++ b/tests/integration/admin/test_incremental_alter_configs.py @@ -19,6 +19,8 @@ ConfigEntry, ResourceType, \ AlterConfigOpType +from tests.common import TestUtils + def assert_expected_config_entries(fs, num_fs, expected): """ @@ -147,3 +149,34 @@ def test_incremental_alter_configs(kafka_cluster): # Assert expected config entries. assert_expected_config_entries(fs, 1, expected) + + if TestUtils.use_group_protocol_consumer(): + group_id = "test-group" + + res_group = ConfigResource( + ResourceType.GROUP, + group_id, + incremental_configs=[ + ConfigEntry("consumer.session.timeout.ms", "50000", + incremental_operation=AlterConfigOpType.SET) + ] + ) + + expected[res_group] = ['consumer.session.timeout.ms="50000"'] + + # + # Incrementally alter some configuration values + # + fs = admin_client.incremental_alter_configs([res_group]) + + assert_operation_succeeded(fs, 1) + + time.sleep(1) + + # + # Get current group config + # + fs = admin_client.describe_configs([res_group]) + + # Assert expected config entries. + assert_expected_config_entries(fs, 1, expected) From fa82dafb60e753ecbdbfb827a7f9f64dfece8c57 Mon Sep 17 00:00:00 2001 From: PratRanj07 Date: Wed, 5 Mar 2025 03:23:04 +0530 Subject: [PATCH 2/5] Add enum Group Config --- src/confluent_kafka/admin/_config.py | 1 + src/confluent_kafka/src/AdminTypes.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/confluent_kafka/admin/_config.py b/src/confluent_kafka/admin/_config.py index 2c96bfa98..5f4f4680e 100644 --- a/src/confluent_kafka/admin/_config.py +++ b/src/confluent_kafka/admin/_config.py @@ -56,6 +56,7 @@ class ConfigSource(Enum): DYNAMIC_DEFAULT_BROKER_CONFIG = _cimpl.CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG #: Dynamic Default Broker STATIC_BROKER_CONFIG = _cimpl.CONFIG_SOURCE_STATIC_BROKER_CONFIG #: Static Broker DEFAULT_CONFIG = _cimpl.CONFIG_SOURCE_DEFAULT_CONFIG #: Default + GROUP_CONFIG = _cimpl.CONFIG_SOURCE_GROUP_CONFIG #: Group class ConfigEntry(object): diff --git a/src/confluent_kafka/src/AdminTypes.c b/src/confluent_kafka/src/AdminTypes.c index 5deeded2e..61adeb279 100644 --- a/src/confluent_kafka/src/AdminTypes.c +++ b/src/confluent_kafka/src/AdminTypes.c @@ -514,6 +514,8 @@ static void AdminTypes_AddObjectsConfigSource (PyObject *m) { RD_KAFKA_CONFIG_SOURCE_STATIC_BROKER_CONFIG); PyModule_AddIntConstant(m, "CONFIG_SOURCE_DEFAULT_CONFIG", RD_KAFKA_CONFIG_SOURCE_DEFAULT_CONFIG); + PyModule_AddIntConstant(m, "CONFIG_SOURCE_GROUP_CONFIG", + RD_KAFKA_CONFIG_SOURCE_GROUP_CONFIG); } From aa4e414422a7a0e9aaf478c082cf69a514afc9fb Mon Sep 17 00:00:00 2001 From: PratRanj07 Date: Wed, 16 Apr 2025 19:47:37 +0530 Subject: [PATCH 3/5] Add enum CONFIG_SOURCE_GROUP_CONFIG to init.py --- src/confluent_kafka/admin/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/confluent_kafka/admin/__init__.py b/src/confluent_kafka/admin/__init__.py index 4d16cd539..98f7c1195 100644 --- a/src/confluent_kafka/admin/__init__.py +++ b/src/confluent_kafka/admin/__init__.py @@ -72,6 +72,7 @@ CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG, CONFIG_SOURCE_STATIC_BROKER_CONFIG, CONFIG_SOURCE_DEFAULT_CONFIG, + CONFIG_SOURCE_GROUP_CONFIG, RESOURCE_UNKNOWN, RESOURCE_ANY, RESOURCE_TOPIC, From a9c0566ea9afc374cb4df786eacfefbfc0ec265c Mon Sep 17 00:00:00 2001 From: PratRanj07 Date: Wed, 16 Apr 2025 23:54:57 +0530 Subject: [PATCH 4/5] style fix --- tests/integration/admin/test_incremental_alter_configs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/admin/test_incremental_alter_configs.py b/tests/integration/admin/test_incremental_alter_configs.py index 86ba30a69..86ca7e5dd 100644 --- a/tests/integration/admin/test_incremental_alter_configs.py +++ b/tests/integration/admin/test_incremental_alter_configs.py @@ -163,7 +163,7 @@ def test_incremental_alter_configs(kafka_cluster): ) expected[res_group] = ['consumer.session.timeout.ms="50000"'] - + # # Incrementally alter some configuration values # From 81f761fd10489a529ffcabc02130dbeb0aa9126d Mon Sep 17 00:00:00 2001 From: PratRanj07 Date: Thu, 17 Apr 2025 16:10:06 +0530 Subject: [PATCH 5/5] add TODO comment in test --- tests/integration/admin/test_incremental_alter_configs.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/admin/test_incremental_alter_configs.py b/tests/integration/admin/test_incremental_alter_configs.py index 86ca7e5dd..43e43ebee 100644 --- a/tests/integration/admin/test_incremental_alter_configs.py +++ b/tests/integration/admin/test_incremental_alter_configs.py @@ -150,6 +150,8 @@ def test_incremental_alter_configs(kafka_cluster): # Assert expected config entries. assert_expected_config_entries(fs, 1, expected) + # TODO: enable this test for the classic run too, when + # Confluent Platform test cluster is upgraded to 8.0.0 if TestUtils.use_group_protocol_consumer(): group_id = "test-group"