|
@@ -327,7 +327,15 @@ public class TestRMAppAttemptTransitions {
|
|
|
masterService, submissionContext, new Configuration(),
|
|
|
Collections.singletonList(BuilderUtils.newResourceRequest(
|
|
|
RMAppAttemptImpl.AM_CONTAINER_PRIORITY, ResourceRequest.ANY,
|
|
|
- submissionContext.getResource(), 1)), application);
|
|
|
+ submissionContext.getResource(), 1)), application) {
|
|
|
+ @Override
|
|
|
+ protected void onInvalidTranstion(
|
|
|
+ RMAppAttemptEventType rmAppAttemptEventType,
|
|
|
+ RMAppAttemptState state) {
|
|
|
+ Assert.assertTrue("RMAppAttemptImpl can't handle "
|
|
|
+ + rmAppAttemptEventType + " at state " + state, false);
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
when(application.getCurrentAppAttempt()).thenReturn(applicationAttempt);
|
|
|
when(application.getApplicationId()).thenReturn(applicationId);
|
|
@@ -974,6 +982,23 @@ public class TestRMAppAttemptTransitions {
|
|
|
applicationAttempt.getAppAttemptState());
|
|
|
}
|
|
|
|
|
|
+ @Test(timeout = 10000)
|
|
|
+ public void testAttemptAddedAtFinalSaving() {
|
|
|
+ submitApplicationAttempt();
|
|
|
+
|
|
|
+ // SUBNITED->FINAL_SAVING
|
|
|
+ applicationAttempt.handle(new RMAppAttemptEvent(applicationAttempt
|
|
|
+ .getAppAttemptId(), RMAppAttemptEventType.KILL));
|
|
|
+ assertEquals(RMAppAttemptState.FINAL_SAVING,
|
|
|
+ applicationAttempt.getAppAttemptState());
|
|
|
+
|
|
|
+ applicationAttempt.handle(new RMAppAttemptEvent(applicationAttempt
|
|
|
+ .getAppAttemptId(), RMAppAttemptEventType.ATTEMPT_ADDED));
|
|
|
+
|
|
|
+ assertEquals(RMAppAttemptState.FINAL_SAVING,
|
|
|
+ applicationAttempt.getAppAttemptState());
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
public void testAMCrashAtAllocated() {
|
|
|
Container amContainer = allocateApplicationAttempt();
|