From e1f11c67140f995bc22acd1568fcfac593c1ee10 Mon Sep 17 00:00:00 2001 From: Bill Bejeck Date: Sun, 15 Sep 2024 14:26:06 -0400 Subject: [PATCH] MINOR: Need to split the controller bootstrap servers on ',' in list comprehenson (#17183) Kafka Streams system tests were failing with this error: Failed to parse host name from entry 3001@d for the configuration controller.quorum.voters. Each entry should be in the form `{id}@{host}:{port}`. The cause is that in kafka.py line 876, we create a delimited string from a list comprehension, but the input is a string itself, so each character gets appended vs. the bootstrap server string of host:port. To fix this, this PR adds split(',') to controller_quorum_bootstrap_servers. Note that this only applies when dynamicRaftQuorum=False Reviewers: Alyssa Huang , Chia-Ping Tsai --- tests/kafkatest/services/kafka/kafka.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/kafkatest/services/kafka/kafka.py b/tests/kafkatest/services/kafka/kafka.py index 3a39c16050b..b891da42344 100644 --- a/tests/kafkatest/services/kafka/kafka.py +++ b/tests/kafkatest/services/kafka/kafka.py @@ -875,7 +875,7 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service): else: self.controller_quorum_voters = ','.join(["%s@%s" % (self.controller_quorum.idx(node) + first_node_id - 1, bootstrap_server) - for bootstrap_server in controller_quorum_bootstrap_servers]) + for bootstrap_server in controller_quorum_bootstrap_servers.split(',')]) # define controller.listener.names self.controller_listener_names = ','.join(self.controller_listener_name_list(node)) # define sasl.mechanism.controller.protocol to match the isolated quorum if one exists