private ApplicationReport convertToApplicationReport( ApplicationHistoryData appHistory) throws IOException { ApplicationAttemptId currentApplicationAttemptId = null; String trackingUrl = UNAVAILABLE; String host = UNAVAILABLE; int rpcPort = -1; ApplicationAttemptHistoryData lastAttempt = getLastAttempt(appHistory.getApplicationId()); if (lastAttempt != null) { currentApplicationAttemptId = lastAttempt.getApplicationAttemptId(); trackingUrl = lastAttempt.getTrackingURL(); host = lastAttempt.getHost(); rpcPort = lastAttempt.getRPCPort(); } return ApplicationReport.newInstance(appHistory.getApplicationId(), currentApplicationAttemptId, appHistory.getUser(), appHistory.getQueue(), appHistory.getApplicationName(), host, rpcPort, null, appHistory.getYarnApplicationState(), appHistory.getDiagnosticsInfo(), trackingUrl, appHistory.getStartTime(), appHistory.getFinishTime(), appHistory.getFinalApplicationStatus(), null, "", 100, appHistory.getApplicationType(), null); }
@Public @Unstable public static ApplicationHistoryData newInstance(ApplicationId applicationId, String applicationName, String applicationType, String queue, String user, long submitTime, long startTime, long finishTime, String diagnosticsInfo, FinalApplicationStatus finalApplicationStatus, YarnApplicationState yarnApplicationState) { ApplicationHistoryData appHD = new ApplicationHistoryData(); appHD.setApplicationId(applicationId); appHD.setApplicationName(applicationName); appHD.setApplicationType(applicationType); appHD.setQueue(queue); appHD.setUser(user); appHD.setSubmitTime(submitTime); appHD.setStartTime(startTime); appHD.setFinishTime(finishTime); appHD.setDiagnosticsInfo(diagnosticsInfo); appHD.setFinalApplicationStatus(finalApplicationStatus); appHD.setYarnApplicationState(yarnApplicationState); return appHD; }
@Override public void applicationFinished(ApplicationFinishData appFinish) throws IOException { ApplicationHistoryData data = applicationData.get(appFinish.getApplicationId()); if (data == null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is stored before the start" + " information."); } // Make the assumption that YarnApplicationState should not be null if // the finish information is already recorded if (data.getYarnApplicationState() != null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is already stored."); } data.setFinishTime(appFinish.getFinishTime()); data.setDiagnosticsInfo(appFinish.getDiagnosticsInfo()); data.setFinalApplicationStatus(appFinish.getFinalApplicationStatus()); data.setYarnApplicationState(appFinish.getYarnApplicationState()); }
ApplicationHistoryData data = store.getApplication(appId); Assert.assertNotNull(data); Assert.assertEquals(appId.toString(), data.getApplicationName()); Assert.assertEquals(appId.toString(), data.getDiagnosticsInfo());
@Override public void applicationFinished(ApplicationFinishData appFinish) throws IOException { ApplicationHistoryData data = applicationData.get(appFinish.getApplicationId()); if (data == null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is stored before the start" + " information."); } // Make the assumption that YarnApplicationState should not be null if // the finish information is already recorded if (data.getYarnApplicationState() != null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is already stored."); } data.setFinishTime(appFinish.getFinishTime()); data.setDiagnosticsInfo(appFinish.getDiagnosticsInfo()); data.setFinalApplicationStatus(appFinish.getFinalApplicationStatus()); data.setYarnApplicationState(appFinish.getYarnApplicationState()); }
ApplicationHistoryData appData = store.getApplication(appId); Assert.assertNotNull(appData); Assert.assertEquals(appId.toString(), appData.getApplicationName()); Assert.assertEquals(appId.toString(), appData.getDiagnosticsInfo());
private ApplicationReport convertToApplicationReport( ApplicationHistoryData appHistory) throws IOException { ApplicationAttemptId currentApplicationAttemptId = null; String trackingUrl = UNAVAILABLE; String host = UNAVAILABLE; int rpcPort = -1; ApplicationAttemptHistoryData lastAttempt = getLastAttempt(appHistory.getApplicationId()); if (lastAttempt != null) { currentApplicationAttemptId = lastAttempt.getApplicationAttemptId(); trackingUrl = lastAttempt.getTrackingURL(); host = lastAttempt.getHost(); rpcPort = lastAttempt.getRPCPort(); } return ApplicationReport.newInstance(appHistory.getApplicationId(), currentApplicationAttemptId, appHistory.getUser(), appHistory.getQueue(), appHistory.getApplicationName(), host, rpcPort, null, appHistory.getYarnApplicationState(), appHistory.getDiagnosticsInfo(), trackingUrl, appHistory.getStartTime(), 0, appHistory.getFinishTime(), appHistory.getFinalApplicationStatus(), null, "", 100, appHistory.getApplicationType(), null); }
@Public @Unstable public static ApplicationHistoryData newInstance(ApplicationId applicationId, String applicationName, String applicationType, String queue, String user, long submitTime, long startTime, long finishTime, String diagnosticsInfo, FinalApplicationStatus finalApplicationStatus, YarnApplicationState yarnApplicationState) { ApplicationHistoryData appHD = new ApplicationHistoryData(); appHD.setApplicationId(applicationId); appHD.setApplicationName(applicationName); appHD.setApplicationType(applicationType); appHD.setQueue(queue); appHD.setUser(user); appHD.setSubmitTime(submitTime); appHD.setStartTime(startTime); appHD.setFinishTime(finishTime); appHD.setDiagnosticsInfo(diagnosticsInfo); appHD.setFinalApplicationStatus(finalApplicationStatus); appHD.setYarnApplicationState(yarnApplicationState); return appHD; }
@Override public void applicationFinished(ApplicationFinishData appFinish) throws IOException { ApplicationHistoryData data = applicationData.get(appFinish.getApplicationId()); if (data == null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is stored before the start" + " information."); } // Make the assumption that YarnApplicationState should not be null if // the finish information is already recorded if (data.getYarnApplicationState() != null) { throw new IOException("The finish information of application " + appFinish.getApplicationId() + " is already stored."); } data.setFinishTime(appFinish.getFinishTime()); data.setDiagnosticsInfo(appFinish.getDiagnosticsInfo()); data.setFinalApplicationStatus(appFinish.getFinalApplicationStatus()); data.setYarnApplicationState(appFinish.getYarnApplicationState()); }
private ApplicationReport convertToApplicationReport( ApplicationHistoryData appHistory) throws IOException { ApplicationAttemptId currentApplicationAttemptId = null; String trackingUrl = UNAVAILABLE; String host = UNAVAILABLE; int rpcPort = -1; ApplicationAttemptHistoryData lastAttempt = getLastAttempt(appHistory.getApplicationId()); if (lastAttempt != null) { currentApplicationAttemptId = lastAttempt.getApplicationAttemptId(); trackingUrl = lastAttempt.getTrackingURL(); host = lastAttempt.getHost(); rpcPort = lastAttempt.getRPCPort(); } return ApplicationReport.newInstance(appHistory.getApplicationId(), currentApplicationAttemptId, appHistory.getUser(), appHistory.getQueue(), appHistory.getApplicationName(), host, rpcPort, null, appHistory.getYarnApplicationState(), appHistory.getDiagnosticsInfo(), trackingUrl, appHistory.getStartTime(), appHistory.getFinishTime(), appHistory.getFinalApplicationStatus(), null, "", 100, appHistory.getApplicationType(), null); }
@Public @Unstable public static ApplicationHistoryData newInstance(ApplicationId applicationId, String applicationName, String applicationType, String queue, String user, long submitTime, long startTime, long finishTime, String diagnosticsInfo, FinalApplicationStatus finalApplicationStatus, YarnApplicationState yarnApplicationState) { ApplicationHistoryData appHD = new ApplicationHistoryData(); appHD.setApplicationId(applicationId); appHD.setApplicationName(applicationName); appHD.setApplicationType(applicationType); appHD.setQueue(queue); appHD.setUser(user); appHD.setSubmitTime(submitTime); appHD.setStartTime(startTime); appHD.setFinishTime(finishTime); appHD.setDiagnosticsInfo(diagnosticsInfo); appHD.setFinalApplicationStatus(finalApplicationStatus); appHD.setYarnApplicationState(yarnApplicationState); return appHD; }
Assert.assertEquals("test app", appHD.getApplicationName()); Assert.assertEquals("test app type", appHD.getApplicationType()); Assert.assertEquals("test user", appHD.getUser()); Assert.assertEquals("test queue", appHD.getQueue()); Assert.assertEquals(0L, appHD.getSubmitTime()); Assert.assertEquals(1L, appHD.getStartTime()); if (appHD.getYarnApplicationState() != null) { break; } else { Assert.assertEquals(2L, appHD.getFinishTime()); Assert.assertEquals("test diagnostics info", appHD.getDiagnosticsInfo()); Assert.assertEquals(FinalApplicationStatus.UNDEFINED, appHD.getFinalApplicationStatus()); Assert.assertEquals(YarnApplicationState.FINISHED, appHD.getYarnApplicationState());
Assert.assertEquals("test app", appHD.getApplicationName()); Assert.assertEquals("test app type", appHD.getApplicationType()); Assert.assertEquals("test user", appHD.getUser()); Assert.assertEquals("test queue", appHD.getQueue()); Assert.assertEquals(0L, appHD.getSubmitTime()); Assert.assertEquals(1L, appHD.getStartTime()); if (appHD.getYarnApplicationState() != null) { break; } else { Assert.assertEquals(2L, appHD.getFinishTime()); Assert.assertEquals("test diagnostics info", appHD.getDiagnosticsInfo()); Assert.assertEquals(FinalApplicationStatus.UNDEFINED, appHD.getFinalApplicationStatus()); Assert.assertEquals(YarnApplicationState.FINISHED, appHD.getYarnApplicationState());