diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java index cdf582e..8b307b3 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRM.java @@ -631,7 +631,16 @@ protected Dispatcher createDispatcher() { rm.waitForState(application.getApplicationId(), RMAppState.KILLED); // test metrics - metrics = rm.getResourceScheduler().getRootQueueMetrics(); + final int timeoutMsecs = 80000; + final int waitMsPerLoop = 500; + int timeWaiting = 0; + do { + metrics = rm.getResourceScheduler().getRootQueueMetrics(); + Thread.sleep(waitMsPerLoop); + timeWaiting += waitMsPerLoop; + } while ((metrics.getAppsKilled() != appsKilled + 1 + || metrics.getAppsSubmitted() != appsSubmitted + 1) + && timeWaiting < timeoutMsecs); Assert.assertEquals(appsKilled + 1, metrics.getAppsKilled()); Assert.assertEquals(appsSubmitted + 1, metrics.getAppsSubmitted()); }