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



##########
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) {

Review comment:
       Now that we have kept entire while loop within try-catch, `failedCount` 
will be `1` here due to `failedCount++` and then we exit from try-catch so 
`failedCount` will never be recalculated. Recalculation will be possible only 
if try-catch is kept within while loop. Based on WARN log message, it seems 
perhaps that's what we should do (i.e. add retries within while loop, so 
try-catch inside while loop)?




-- 
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: common-issues-unsubscr...@hadoop.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to