private ApplicationAttemptReport convertToApplicationAttemptReport( ApplicationAttemptHistoryData appAttemptHistory) { return ApplicationAttemptReport.newInstance( appAttemptHistory.getApplicationAttemptId(), appAttemptHistory.getHost(), appAttemptHistory.getRPCPort(), appAttemptHistory.getTrackingURL(), null, appAttemptHistory.getDiagnosticsInfo(), appAttemptHistory.getYarnApplicationAttemptState(), appAttemptHistory.getMasterContainerId()); }
@Public @Unstable public static ApplicationAttemptHistoryData newInstance( ApplicationAttemptId appAttemptId, String host, int rpcPort, ContainerId masterContainerId, String diagnosticsInfo, String trackingURL, FinalApplicationStatus finalApplicationStatus, YarnApplicationAttemptState yarnApplicationAttemptState) { ApplicationAttemptHistoryData appAttemptHD = new ApplicationAttemptHistoryData(); appAttemptHD.setApplicationAttemptId(appAttemptId); appAttemptHD.setHost(host); appAttemptHD.setRPCPort(rpcPort); appAttemptHD.setMasterContainerId(masterContainerId); appAttemptHD.setDiagnosticsInfo(diagnosticsInfo); appAttemptHD.setTrackingURL(trackingURL); appAttemptHD.setFinalApplicationStatus(finalApplicationStatus); appAttemptHD.setYarnApplicationAttemptState(yarnApplicationAttemptState); return appAttemptHD; }
Assert.assertEquals("test host", appAttemptHD.getHost()); Assert.assertEquals(-100, appAttemptHD.getRPCPort()); Assert.assertEquals(ContainerId.newContainerId( ApplicationAttemptId.newInstance(ApplicationId.newInstance(0, 1), 1), 1), appAttemptHD.getMasterContainerId()); store.getApplicationAttempt(ApplicationAttemptId.newInstance( ApplicationId.newInstance(0, 1), 1)); if (appAttemptHD.getYarnApplicationAttemptState() != null) { break; } else { appAttemptHD.getDiagnosticsInfo()); Assert.assertEquals("test url", appAttemptHD.getTrackingURL()); Assert.assertEquals(FinalApplicationStatus.UNDEFINED, appAttemptHD.getFinalApplicationStatus()); Assert.assertEquals(YarnApplicationAttemptState.FINISHED, appAttemptHD.getYarnApplicationAttemptState());
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); }
@Override public void applicationAttemptFinished( ApplicationAttemptFinishData appAttemptFinish) throws IOException { ConcurrentMap<ApplicationAttemptId, ApplicationAttemptHistoryData> subMap = getSubMap(appAttemptFinish.getApplicationAttemptId().getApplicationId()); ApplicationAttemptHistoryData data = subMap.get(appAttemptFinish.getApplicationAttemptId()); if (data == null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is stored before" + " the start information."); } // Make the assumption that YarnApplicationAttemptState should not be null // if the finish information is already recorded if (data.getYarnApplicationAttemptState() != null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is already stored."); } data.setTrackingURL(appAttemptFinish.getTrackingURL()); data.setDiagnosticsInfo(appAttemptFinish.getDiagnosticsInfo()); data .setFinalApplicationStatus(appAttemptFinish.getFinalApplicationStatus()); data.setYarnApplicationAttemptState(appAttemptFinish .getYarnApplicationAttemptState()); }
store.getApplicationAttempt(appAttemptId); Assert.assertNotNull(data); Assert.assertEquals(appAttemptId.toString(), data.getHost()); Assert.assertEquals(appAttemptId.toString(), data.getDiagnosticsInfo());
@Override public ContainerHistoryData getAMContainer(ApplicationAttemptId appAttemptId) throws IOException { ApplicationAttemptHistoryData attemptHistoryData = getApplicationAttempt(appAttemptId); if (attemptHistoryData == null || attemptHistoryData.getMasterContainerId() == null) { return null; } return getContainer(attemptHistoryData.getMasterContainerId()); }
historyDataMap.get(appAttemptId); if (historyData == null) { historyData = ApplicationAttemptHistoryData.newInstance( appAttemptId, null, -1, null, null, null, FinalApplicationStatus.UNDEFINED, null);
Assert.assertEquals("test host", appAttemptHD.getHost()); Assert.assertEquals(-100, appAttemptHD.getRPCPort()); Assert.assertEquals(ContainerId.newContainerId( ApplicationAttemptId.newInstance(ApplicationId.newInstance(0, 1), 1), 1), appAttemptHD.getMasterContainerId()); store.getApplicationAttempt(ApplicationAttemptId.newInstance( ApplicationId.newInstance(0, 1), 1)); if (appAttemptHD.getYarnApplicationAttemptState() != null) { break; } else { appAttemptHD.getDiagnosticsInfo()); Assert.assertEquals("test url", appAttemptHD.getTrackingURL()); Assert.assertEquals(FinalApplicationStatus.UNDEFINED, appAttemptHD.getFinalApplicationStatus()); Assert.assertEquals(YarnApplicationAttemptState.FINISHED, appAttemptHD.getYarnApplicationAttemptState());
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); }
@Override public void applicationAttemptFinished( ApplicationAttemptFinishData appAttemptFinish) throws IOException { ConcurrentMap<ApplicationAttemptId, ApplicationAttemptHistoryData> subMap = getSubMap(appAttemptFinish.getApplicationAttemptId().getApplicationId()); ApplicationAttemptHistoryData data = subMap.get(appAttemptFinish.getApplicationAttemptId()); if (data == null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is stored before" + " the start information."); } // Make the assumption that YarnApplicationAttemptState should not be null // if the finish information is already recorded if (data.getYarnApplicationAttemptState() != null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is already stored."); } data.setTrackingURL(appAttemptFinish.getTrackingURL()); data.setDiagnosticsInfo(appAttemptFinish.getDiagnosticsInfo()); data .setFinalApplicationStatus(appAttemptFinish.getFinalApplicationStatus()); data.setYarnApplicationAttemptState(appAttemptFinish .getYarnApplicationAttemptState()); }
store.getApplicationAttempt(appAttemptId); Assert.assertNotNull(attemptData); Assert.assertEquals(appAttemptId.toString(), attemptData.getHost()); Assert.assertNull(attemptData.getDiagnosticsInfo()); continue; } else { Assert.assertEquals(appAttemptId.toString(), attemptData.getDiagnosticsInfo());
@Override public ContainerHistoryData getAMContainer(ApplicationAttemptId appAttemptId) { ApplicationAttemptHistoryData appAttempt = getApplicationAttempt(appAttemptId); if (appAttempt == null || appAttempt.getMasterContainerId() == null) { return null; } else { return getContainer(appAttempt.getMasterContainerId()); } }
historyDataMap.get(appAttemptId); if (historyData == null) { historyData = ApplicationAttemptHistoryData.newInstance( appAttemptId, null, -1, null, null, null, FinalApplicationStatus.UNDEFINED, null);
private ApplicationAttemptReport convertToApplicationAttemptReport( ApplicationAttemptHistoryData appAttemptHistory) { return ApplicationAttemptReport.newInstance( appAttemptHistory.getApplicationAttemptId(), appAttemptHistory.getHost(), appAttemptHistory.getRPCPort(), appAttemptHistory.getTrackingURL(), null, appAttemptHistory.getDiagnosticsInfo(), appAttemptHistory.getYarnApplicationAttemptState(), appAttemptHistory.getMasterContainerId()); }
@Public @Unstable public static ApplicationAttemptHistoryData newInstance( ApplicationAttemptId appAttemptId, String host, int rpcPort, ContainerId masterContainerId, String diagnosticsInfo, String trackingURL, FinalApplicationStatus finalApplicationStatus, YarnApplicationAttemptState yarnApplicationAttemptState) { ApplicationAttemptHistoryData appAttemptHD = new ApplicationAttemptHistoryData(); appAttemptHD.setApplicationAttemptId(appAttemptId); appAttemptHD.setHost(host); appAttemptHD.setRPCPort(rpcPort); appAttemptHD.setMasterContainerId(masterContainerId); appAttemptHD.setDiagnosticsInfo(diagnosticsInfo); appAttemptHD.setTrackingURL(trackingURL); appAttemptHD.setFinalApplicationStatus(finalApplicationStatus); appAttemptHD.setYarnApplicationAttemptState(yarnApplicationAttemptState); return appAttemptHD; }
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); }
@Override public void applicationAttemptFinished( ApplicationAttemptFinishData appAttemptFinish) throws IOException { ConcurrentMap<ApplicationAttemptId, ApplicationAttemptHistoryData> subMap = getSubMap(appAttemptFinish.getApplicationAttemptId().getApplicationId()); ApplicationAttemptHistoryData data = subMap.get(appAttemptFinish.getApplicationAttemptId()); if (data == null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is stored before" + " the start information."); } // Make the assumption that YarnApplicationAttemptState should not be null // if the finish information is already recorded if (data.getYarnApplicationAttemptState() != null) { throw new IOException("The finish information of application attempt " + appAttemptFinish.getApplicationAttemptId() + " is already stored."); } data.setTrackingURL(appAttemptFinish.getTrackingURL()); data.setDiagnosticsInfo(appAttemptFinish.getDiagnosticsInfo()); data .setFinalApplicationStatus(appAttemptFinish.getFinalApplicationStatus()); data.setYarnApplicationAttemptState(appAttemptFinish .getYarnApplicationAttemptState()); }
@Override public ContainerHistoryData getAMContainer(ApplicationAttemptId appAttemptId) { ApplicationAttemptHistoryData appAttempt = getApplicationAttempt(appAttemptId); if (appAttempt == null || appAttempt.getMasterContainerId() == null) { return null; } else { return getContainer(appAttempt.getMasterContainerId()); } }
historyDataMap.get(appAttemptId); if (historyData == null) { historyData = ApplicationAttemptHistoryData.newInstance( appAttemptId, null, -1, null, null, null, FinalApplicationStatus.UNDEFINED, null);