private void logApplicationReport(ApplicationReport appReport) { LOG.info("Application " + appReport.getApplicationId() + " finished with state " + appReport .getYarnApplicationState() + " and final state " + appReport .getFinalApplicationStatus() + " at " + appReport.getFinishTime()); if (appReport.getYarnApplicationState() == YarnApplicationState.FAILED) { LOG.warn("Application failed. Diagnostics " + appReport.getDiagnostics()); LOG.warn("If log aggregation is activated in the Hadoop cluster, we recommend to retrieve " + "the full application log using this command:" + System.lineSeparator() + "\tyarn logs -applicationId " + appReport.getApplicationId() + System.lineSeparator() + "(It sometimes takes a few seconds until the logs are aggregated)"); } }
messageBuilder.append("\tApplication attempt ID: ") .append(applicationReport.get().getCurrentApplicationAttemptId()).append("\n"); messageBuilder.append("\tFinal application status: ").append(applicationReport.get().getFinalApplicationStatus()) .append("\n"); messageBuilder.append("\tStart time: ").append(applicationReport.get().getStartTime()).append("\n");
if (appReport.getFinalApplicationStatus() != FinalApplicationStatus.UNDEFINED) { applicationId, appReport.getFinalApplicationStatus()); throw new RuntimeException("The Yarn application " + applicationId + " doesn't run anymore.");
public void showFinalStatus() { YarnApplicationState state = report.getYarnApplicationState(); if (state == YarnApplicationState.FAILED || state == YarnApplicationState.FINISHED) { FinalApplicationStatus status = report.getFinalApplicationStatus(); System.out.println("Final status: " + status.toString()); if (status != FinalApplicationStatus.SUCCEEDED) { String diag = report.getDiagnostics(); if (!DoYUtil.isBlank(diag)) { System.out.println("Diagnostics: " + diag); } } } }
@Subscribe public void handleApplicationReportArrivalEvent(ApplicationReportArrivalEvent applicationReportArrivalEvent) { ApplicationReport applicationReport = applicationReportArrivalEvent.getApplicationReport(); YarnApplicationState appState = applicationReport.getYarnApplicationState(); LOGGER.info("Gobblin Yarn application state: " + appState.toString()); // Reset the count on failures to get the ApplicationReport when there's one success this.getApplicationReportFailureCount.set(0); if (appState == YarnApplicationState.FINISHED || appState == YarnApplicationState.FAILED || appState == YarnApplicationState.KILLED) { applicationCompleted = true; LOGGER.info("Gobblin Yarn application finished with final status: " + applicationReport.getFinalApplicationStatus().toString()); if (applicationReport.getFinalApplicationStatus() == FinalApplicationStatus.FAILED) { LOGGER.error("Gobblin Yarn application failed for the following reason: " + applicationReport.getDiagnostics()); } try { GobblinYarnAppLauncher.this.stop(); } catch (IOException ioe) { LOGGER.error("Failed to close the " + GobblinYarnAppLauncher.class.getSimpleName(), ioe); } catch (TimeoutException te) { LOGGER.error("Timeout in stopping the service manager", te); } finally { if (this.emailNotificationOnShutdown) { sendEmailOnShutdown(Optional.of(applicationReport)); } } } }
+ ", appStartTime=" + report.getStartTime() + ", yarnAppState=" + report.getYarnApplicationState().toString() + ", distributedFinalState=" + report.getFinalApplicationStatus().toString() + ", appTrackingUrl=" + report.getTrackingUrl() + ", appUser=" + report.getUser()); FinalApplicationStatus dsStatus = report.getFinalApplicationStatus(); if (YarnApplicationState.FINISHED == state) { if (FinalApplicationStatus.SUCCEEDED == dsStatus) {
FinalApplicationStatus finalApplicationStatus = applicationReport.getFinalApplicationStatus(); if (YarnApplicationState.FINISHED == yarnApplicationState) { xlearningClient = null;
+ ", appStartTime=" + report.getStartTime() + ", yarnAppState=" + report.getYarnApplicationState().toString() + ", distributedFinalState=" + report.getFinalApplicationStatus().toString() + ", appTrackingUrl=" + report.getTrackingUrl() + ", appUser=" + report.getUser()); FinalApplicationStatus dsStatus = report.getFinalApplicationStatus(); if(YarnApplicationState.RUNNING == state) { LOG.info("Application is running...");
@Override public FinalApplicationStatus getFinalApplicationStatus() { return report.getFinalApplicationStatus(); }
/** * Gets the final application status. * * @return the final application status */ public FinalApplicationStatus getFinalApplicationStatus() { return applicationReport != null ? applicationReport.getFinalApplicationStatus() : null; }
@Override public FinalApplicationStatus getFinalApplicationStatus() { return report.getFinalApplicationStatus(); }
@Override public FinalApplicationStatus getFinalApplicationStatus() { return report.getFinalApplicationStatus(); }
public FinalApplicationStatus getFinalApplicationStatus() throws YarnException, IOException { return yarnClientWrapper.getYarnClient().getApplicationReport(appId) .getFinalApplicationStatus(); }
private void logFinalApplicationReport(ApplicationReport appReport) { LOG.info("Application " + appReport.getApplicationId() + " finished with state " + appReport .getYarnApplicationState() + " and final state " + appReport .getFinalApplicationStatus() + " at " + appReport.getFinishTime()); if (appReport.getYarnApplicationState() == YarnApplicationState.FAILED) { LOG.warn("Application failed. Diagnostics " + appReport.getDiagnostics()); LOG.warn("If log aggregation is activated in the Hadoop cluster, we recommend to retrieve " + "the full application log using this command:" + System.lineSeparator() + "\tyarn logs -applicationId " + appReport.getApplicationId() + System.lineSeparator() + "(It sometimes takes a few seconds until the logs are aggregated)"); } }
private void logFinalApplicationReport(ApplicationReport appReport) { LOG.info("Application " + appReport.getApplicationId() + " finished with state " + appReport .getYarnApplicationState() + " and final state " + appReport .getFinalApplicationStatus() + " at " + appReport.getFinishTime()); if (appReport.getYarnApplicationState() == YarnApplicationState.FAILED) { LOG.warn("Application failed. Diagnostics " + appReport.getDiagnostics()); LOG.warn("If log aggregation is activated in the Hadoop cluster, we recommend to retrieve " + "the full application log using this command:" + System.lineSeparator() + "\tyarn logs -applicationId " + appReport.getApplicationId() + System.lineSeparator() + "(It sometimes takes a few seconds until the logs are aggregated)"); } }
private static boolean finalAppStatusUndefined(ApplicationReport appReport) { FinalApplicationStatus status = appReport.getFinalApplicationStatus(); return !FinalApplicationStatus.SUCCEEDED.equals(status) && !FinalApplicationStatus.FAILED.equals(status) && !FinalApplicationStatus.KILLED.equals(status); }
private static boolean finalAppStatusUndefined(ApplicationReport appReport) { FinalApplicationStatus status = appReport.getFinalApplicationStatus(); return !FinalApplicationStatus.SUCCEEDED.equals(status) && !FinalApplicationStatus.FAILED.equals(status) && !FinalApplicationStatus.KILLED.equals(status); }
private boolean finalAppStatusUndefined(ApplicationReport appReport) { FinalApplicationStatus status = appReport.getFinalApplicationStatus(); return !FinalApplicationStatus.SUCCEEDED.equals(status) && !FinalApplicationStatus.FAILED.equals(status) && !FinalApplicationStatus.KILLED.equals(status); }
private boolean finalAppStatusUndefined(ApplicationReport appReport) { FinalApplicationStatus status = appReport.getFinalApplicationStatus(); return !FinalApplicationStatus.SUCCEEDED.equals(status) && !FinalApplicationStatus.FAILED.equals(status) && !FinalApplicationStatus.KILLED.equals(status); }
@Override public boolean exitLoop(ApplicationReport report) { LOG.info("Got application report from ASM for, appId={}, clientToken={}, appDiagnostics={}, appMasterHost={}," + "appQueue={}, appMasterRpcPort={}, appStartTime={}, yarnAppState={}, distributedFinalState={}, " + "appTrackingUrl={}, appUser={}", appId.getId(), report.getClientToAMToken(), report.getDiagnostics(), report.getHost(), report.getQueue(), report.getRpcPort(), report.getStartTime(), report.getYarnApplicationState(), report.getFinalApplicationStatus(), report.getTrackingUrl(), report.getUser()); return false; }