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