@Override public ApplicationReport run() throws Exception { return rm2.getApplicationReport(app1.getApplicationId()); } });
private void verifySubmitApp(MockRM rm, RMApp app, ApplicationId expectedAppId) throws Exception { int maxWaittingTimes = 20; int count = 0; while (true) { YarnApplicationState state = rm.getApplicationReport(app.getApplicationId()) .getYarnApplicationState(); if (!state.equals(YarnApplicationState.NEW) && !state.equals(YarnApplicationState.NEW_SAVING)) { break; } if (count > maxWaittingTimes) { break; } Thread.sleep(200); count++; } // Verify submittion is successful YarnApplicationState state = rm.getApplicationReport(app.getApplicationId()) .getYarnApplicationState(); Assert.assertTrue(state == YarnApplicationState.ACCEPTED || state == YarnApplicationState.SUBMITTED); Assert.assertEquals(expectedAppId, app.getApplicationId()); }
private void verifySubmitApp(MockRM rm, RMApp app, ApplicationId expectedAppId) throws Exception { int maxWaittingTimes = 20; int count = 0; while (true) { YarnApplicationState state = rm.getApplicationReport(app.getApplicationId()) .getYarnApplicationState(); if (!state.equals(YarnApplicationState.NEW) && !state.equals(YarnApplicationState.NEW_SAVING)) { break; } if (count > maxWaittingTimes) { break; } Thread.sleep(200); count++; } // Verify submittion is successful YarnApplicationState state = rm.getApplicationReport(app.getApplicationId()) .getYarnApplicationState(); Assert.assertTrue(state == YarnApplicationState.ACCEPTED || state == YarnApplicationState.SUBMITTED); Assert.assertEquals(expectedAppId, app.getApplicationId()); }
rm2.getApplicationReport(app0.getApplicationId()); Assert.fail("Should get ApplicationNotFoundException here"); } catch (ApplicationNotFoundException ex) {
ApplicationReport report = rm2.getApplicationReport(app.getApplicationId()); assertEquals(report.getFinalApplicationStatus(), FinalApplicationStatus.KILLED);
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
rm.getApplicationReport(app.getApplicationId()) .getCurrentApplicationAttemptId();
@Test public void testHandleRMHAafterSubmitApplicationCallWithSavedApplicationState() throws Exception { // Test scenario 1 when RM failover happens // after SubmitApplication Call: // RMStateStore already saved the ApplicationState when failover happens startRMs(); // Submit Application // After submission, the applicationState will be saved in RMStateStore. RMApp app0 = rm1.submitApp(200); // Do the failover explicitFailover(); // Since the applicationState has already been saved in RMStateStore // before failover happens, the current active rm can load the previous // applicationState. ApplicationReport appReport = rm2.getApplicationReport(app0.getApplicationId()); // verify previous submission is successful. Assert.assertTrue(appReport.getYarnApplicationState() == YarnApplicationState.ACCEPTED || appReport.getYarnApplicationState() == YarnApplicationState.SUBMITTED); }
@Test public void testHandleRMHAafterSubmitApplicationCallWithSavedApplicationState() throws Exception { // Test scenario 1 when RM failover happens // after SubmitApplication Call: // RMStateStore already saved the ApplicationState when failover happens startRMs(); // Submit Application // After submission, the applicationState will be saved in RMStateStore. RMApp app0 = rm1.submitApp(200); // Do the failover explicitFailover(); // Since the applicationState has already been saved in RMStateStore // before failover happens, the current active rm can load the previous // applicationState. ApplicationReport appReport = rm2.getApplicationReport(app0.getApplicationId()); // verify previous submission is successful. Assert.assertTrue(appReport.getYarnApplicationState() == YarnApplicationState.ACCEPTED || appReport.getYarnApplicationState() == YarnApplicationState.SUBMITTED); }
rm1.getApplicationReport(app.getApplicationId()); Assert.assertTrue(appReport1.getYarnApplicationState() == YarnApplicationState.ACCEPTED || rm1.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport1.getApplicationId(), appReport2.getApplicationId()); rm2.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport1.getApplicationId(), appReport3.getApplicationId()); rm2.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport3.getApplicationId(), appReport4.getApplicationId());
rm1.getApplicationReport(app.getApplicationId()); Assert.assertTrue(appReport1.getYarnApplicationState() == YarnApplicationState.ACCEPTED || rm1.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport1.getApplicationId(), appReport2.getApplicationId()); rm2.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport1.getApplicationId(), appReport3.getApplicationId()); rm2.getApplicationReport(app.getApplicationId()); Assert.assertEquals(appReport3.getApplicationId(), appReport4.getApplicationId());
assertEquals(rm1.getApplicationReport(app.getApplicationId()). getYarnApplicationState(), YarnApplicationState.RUNNING);
assertEquals(rm1.getApplicationReport(app.getApplicationId()). getYarnApplicationState(), YarnApplicationState.RUNNING);
assertEquals(rm1.getApplicationReport(app2.getApplicationId()). getYarnApplicationState(), YarnApplicationState.RUNNING);