ayushtkn commented on a change in pull request #3756:
URL: https://github.com/apache/hadoop/pull/3756#discussion_r763897758



##########
File path: 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/MiniDFSCluster.java
##########
@@ -2775,14 +2775,23 @@ public void waitActive(int nnIndex) throws IOException {
     DFSClient client = new DFSClient(addr, conf);
 
     // ensure all datanodes have registered and sent heartbeat to the namenode
-    while (shouldWait(client.datanodeReport(DatanodeReportType.LIVE), addr)) {
-      try {
+    int failedCount = 0;
+    try {
+      while (shouldWait(client.datanodeReport(DatanodeReportType.LIVE), addr)) 
{
         LOG.info("Waiting for cluster to become active");
         Thread.sleep(100);
-      } catch (InterruptedException e) {
       }
+    } catch (IOException e) {
+      failedCount++;
+      // Cached RPC connection to namenode, if any, is expected to fail once
+      if (failedCount > 1) {
+        LOG.warn("Tried waitActive() " + failedCount
+            + " time(s) and failed, giving up.  " + StringUtils
+            .stringifyException(e));
+        throw e;
+      }
+    } catch (InterruptedException e) {
     }

Review comment:
       Logically made sense, so I have changed it, In general I don't expect 
any test to fail due to this, but if any will revert to normal, considering 
minidfs is used by a lot of downstream projects as well




-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to