You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by mj...@apache.org on 2018/02/24 00:18:23 UTC

[kafka] branch 1.0 updated: MINOR: wait for broker startup for system tests (#4363)

This is an automated email from the ASF dual-hosted git repository.

mjsax pushed a commit to branch 1.0
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/1.0 by this push:
     new c5fbea6  MINOR: wait for broker startup for system tests (#4363)
c5fbea6 is described below

commit c5fbea622ece63ff68b490b26b2774520ea2fd94
Author: Matthias J. Sax <mj...@apache.org>
AuthorDate: Fri Feb 23 16:13:57 2018 -0800

    MINOR: wait for broker startup for system tests (#4363)
    
    ensure that brokers are registered at ZK before start() returns
    
    Author: Matthias J. Sax <ma...@confluent.io>
    
    Reviewers: Ewen Cheslack-Postava <ew...@confluent.io>, Damian Guy <da...@confluent.io>, Guozhang Wang <gu...@confluent.io>
---
 tests/kafkatest/services/kafka/kafka.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/kafkatest/services/kafka/kafka.py b/tests/kafkatest/services/kafka/kafka.py
index b3d6177..619da9f 100644
--- a/tests/kafkatest/services/kafka/kafka.py
+++ b/tests/kafkatest/services/kafka/kafka.py
@@ -165,6 +165,15 @@ class KafkaService(KafkaPathResolverMixin, JmxMixin, Service):
         self.start_minikdc(add_principals)
         Service.start(self)
 
+        self.logger.info("Waiting for brokers to register at ZK")
+
+        retries = 30
+        expected_broker_ids = set(self.nodes)
+        wait_until(lambda: {node for node in self.nodes if self.is_registered(node)} == expected_broker_ids, 30, 1)
+
+        if retries == 0:
+            raise RuntimeError("Kafka servers didn't register at ZK within 30 seconds")
+
         # Create topics if necessary
         if self.topics is not None:
             for topic, topic_cfg in self.topics.items():

-- 
To stop receiving notification emails like this one, please contact
mjsax@apache.org.