mynameborat commented on a change in pull request #951: SAMZA-2127: Upgrade to 
Kafka 2.0
URL: https://github.com/apache/samza/pull/951#discussion_r268352274
 
 

 ##########
 File path: 
samza-kafka/src/test/scala/org/apache/samza/system/kafka/TestKafkaSystemAdmin.scala
 ##########
 @@ -89,49 +91,49 @@ object TestKafkaSystemAdmin extends KafkaServerTestHarness 
{
 
   @AfterClass
   override def tearDown() {
+    adminClient.close()
     systemAdmin.stop()
     producer.close()
     super.tearDown()
   }
 
   def createTopic(topicName: String, partitionCount: Int) {
-    createTopic(topicName, partitionCount, REPLICATION_FACTOR)
+    val topicCreationFutures = 
adminClient.createTopics(Collections.singletonList(new NewTopic(topicName, 
partitionCount, REPLICATION_FACTOR.shortValue())))
+    topicCreationFutures.all().get() // wait on the future to make sure create 
topic call finishes
   }
 
   def validateTopic(topic: String, expectedPartitionCount: Int) {
     var done = false
     var retries = 0
 
-    while (!done && retries < 100) {
+    while (!done && retries < 10) {
       try {
-          if (!zkClient.topicExists(topic)) {
-            System.err.println("Test topic %s not found. Waiting and 
retrying." format topic)
-            retries += 1
-            Thread.sleep(500)
-          }
-
-          val topicDescription =
-            
adminClient.describeTopics(JavaConverters.asJavaCollectionConverter(Set(topic)).asJavaCollection)
-              .all().get().get(topic)
+        val topicDescriptionFutures = adminClient.describeTopics(
+            
JavaConverters.asJavaCollectionConverter(Set(topic)).asJavaCollection).all()
+        val topicDescription = topicDescriptionFutures.get(500, 
TimeUnit.MILLISECONDS)
+            .get(topic)
 
         done = expectedPartitionCount == topicDescription.partitions().size()
 
 Review comment:
   1. Nope. 
   2. Thanks for bringing it up. I found a corner case with current 
implementation. I changed it a little without introducing additional control 
flow statements.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to