diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java index 628e9be..de17acd 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java @@ -21,6 +21,7 @@ import static org.mockito.Matchers.isA; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -976,9 +977,10 @@ protected RMAppManager createRMAppManager() { List appList2 = response2.getApplicationList(); Assert.assertTrue(3 == appList2.size()); - // check application summary is logged for the completed apps after RM restart. - verify(rm2.getRMAppManager(), times(3)).logApplicationSummary( - isA(ApplicationId.class)); + // check application summary is logged for the completed apps with timeout + // to make sure APP_COMPLETED events are processed, after RM restart. + verify(rm2.getRMAppManager(), timeout(1000).times(3)). + logApplicationSummary(isA(ApplicationId.class)); } private MockAM launchAM(RMApp app, MockRM rm, MockNM nm)