diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java index f2b1d86..63d6557 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java @@ -164,6 +164,8 @@ public void waitForContainerAllocated(MockNM nm, ContainerId containerId) nm.nodeHeartbeat(true); Thread.sleep(200); } + Assert.assertNotNull("Failed in waiting for " + containerId + " " + + "allocation.", getResourceScheduler().getRMContainer(containerId)); } public void waitForContainerToComplete(RMAppAttempt attempt, @@ -662,7 +664,7 @@ public static void finishAMAndVerifyAppState(RMApp rmApp, MockRM rm, MockNM nm, am.waitForState(RMAppAttemptState.FINISHED); rm.waitForState(rmApp.getApplicationId(), RMAppState.FINISHED); } - + @SuppressWarnings("rawtypes") private static void waitForSchedulerAppAttemptAdded( ApplicationAttemptId attemptId, MockRM rm) throws InterruptedException { @@ -677,6 +679,9 @@ private static void waitForSchedulerAppAttemptAdded( } tick++; } + Assert.assertNotNull("Timed out waiting for SchedulerApplicationAttempt=" + + attemptId + " to be added.", ((AbstractYarnScheduler) + rm.getResourceScheduler()).getApplicationAttempt(attemptId)); } public static MockAM launchAM(RMApp app, MockRM rm, MockNM nm) @@ -684,6 +689,7 @@ public static MockAM launchAM(RMApp app, MockRM rm, MockNM nm) rm.waitForState(app.getApplicationId(), RMAppState.ACCEPTED); RMAppAttempt attempt = app.getCurrentAppAttempt(); waitForSchedulerAppAttemptAdded(attempt.getAppAttemptId(), rm); + rm.waitForState(attempt.getAppAttemptId(), RMAppAttemptState.SCHEDULED); System.out.println("Launch AM " + attempt.getAppAttemptId()); nm.nodeHeartbeat(true); MockAM am = rm.sendAMLaunched(attempt.getAppAttemptId());