diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestDiskFailures.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestDiskFailures.java index c7e34d8..bf82ec5 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestDiskFailures.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestDiskFailures.java @@ -244,7 +244,9 @@ private void verifyDisksHealth(boolean localORLogDirs, String expectedDirs, for (int i = 0; i < 10; i++) { Iterator iter = yarnCluster.getResourceManager().getRMContext() .getRMNodes().values().iterator(); - if ((iter.next().getState() != NodeState.UNHEALTHY) == isHealthy) { + // RMNode # might be zero because of timing related issue. + if (iter.hasNext() && + (iter.next().getState() != NodeState.UNHEALTHY) == isHealthy) { break; } // wait for the node health info to go to RM