|
@@ -329,7 +329,15 @@ public class TestRMAppAttemptTransitions {
|
|
|
masterService, submissionContext, new Configuration(), false,
|
|
|
BuilderUtils.newResourceRequest(
|
|
|
RMAppAttemptImpl.AM_CONTAINER_PRIORITY, ResourceRequest.ANY,
|
|
|
- submissionContext.getResource(), 1));
|
|
|
+ submissionContext.getResource(), 1)) {
|
|
|
+ @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);
|
|
@@ -985,6 +993,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();
|