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

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


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

commit 0cd83e997dd8ca3ac0cc6458eee75fdf7b66ae57
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 <matth...@confluent.io>
    
    Reviewers: Ewen Cheslack-Postava <e...@confluent.io>, Damian Guy 
<dam...@confluent.io>, Guozhang Wang <guozh...@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 30dcdb5..4a35e3f 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
mj...@apache.org.

Reply via email to