private void finishApplication(FinalApplicationStatus finalStatus) throws YarnException, IOException { LOG.info("Application completed. Signalling finish to RM"); FinishApplicationMasterRequest finishReq = Records.newRecord(FinishApplicationMasterRequest.class); finishReq.setFinalApplicationStatus(finalStatus); if (finalStatus != FinalApplicationStatus.SUCCEEDED) { String diagnostics = "Diagnostics." + " completed=" + numCompletedContainers.get() + ", allocated=" + allocatedContainers.size() + ", failed=" + numFailedContainers.get(); if (!StringUtils.isEmpty(dnmgr.shutdownDiagnosticsMessage)) { diagnostics += "\n"; diagnostics += dnmgr.shutdownDiagnosticsMessage; } // YARN-208 - as of 2.0.1-alpha dropped by the RM finishReq.setDiagnostics(diagnostics); // expected termination of the master process // application status and diagnostics message are set above } LOG.info("diagnostics: " + finishReq.getDiagnostics()); amRmClient.unregisterApplicationMaster(finishReq.getFinalApplicationStatus(), finishReq.getDiagnostics(), null); }
public void finishApplication(String diagnostics, FinalApplicationStatus finishState) throws YarnRemoteException { if (amResourceManager == null) throw new IllegalStateException( "Cannot finish an application without connecting to resource manager!"); FinishApplicationMasterRequest request = Records.newRecord(FinishApplicationMasterRequest.class); request.setAppAttemptId(appAttemptId); request.setDiagnostics(diagnostics); request.setFinishApplicationStatus(finishState); LOG.info("Sending finish application notification " + ", state=" + request.getFinalApplicationStatus() + ", diagnostics=" + request.getDiagnostics()); amResourceManager.finishApplicationMaster(request); } }
@Public @Stable public static FinishApplicationMasterRequest newInstance( FinalApplicationStatus finalAppStatus, String diagnostics, String url) { FinishApplicationMasterRequest request = Records.newRecord(FinishApplicationMasterRequest.class); request.setFinalApplicationStatus(finalAppStatus); request.setDiagnostics(diagnostics); request.setTrackingUrl(url); return request; }
@Public @Stable public static FinishApplicationMasterRequest newInstance( FinalApplicationStatus finalAppStatus, String diagnostics, String url) { FinishApplicationMasterRequest request = Records.newRecord(FinishApplicationMasterRequest.class); request.setFinalApplicationStatus(finalAppStatus); request.setDiagnostics(diagnostics); request.setTrackingUrl(url); return request; }
@Public @Stable public static FinishApplicationMasterRequest newInstance( FinalApplicationStatus finalAppStatus, String diagnostics, String url) { FinishApplicationMasterRequest request = Records.newRecord(FinishApplicationMasterRequest.class); request.setFinalApplicationStatus(finalAppStatus); request.setDiagnostics(diagnostics); request.setTrackingUrl(url); return request; }
@Public @Stable public static FinishApplicationMasterRequest newInstance( FinalApplicationStatus finalAppStatus, String diagnostics, String url) { FinishApplicationMasterRequest request = Records.newRecord(FinishApplicationMasterRequest.class); request.setFinalApplicationStatus(finalAppStatus); request.setDiagnostics(diagnostics); request.setTrackingUrl(url); return request; }
@Override public void unregisterApplicationMaster(FinalApplicationStatus appStatus, String appMessage, String appTrackingUrl) throws YarnRemoteException { FinishApplicationMasterRequest request = recordFactory .newRecordInstance(FinishApplicationMasterRequest.class); request.setAppAttemptId(appAttemptId); request.setFinishApplicationStatus(appStatus); if (appMessage != null) { request.setDiagnostics(appMessage); } if (appTrackingUrl != null) { request.setTrackingUrl(appTrackingUrl); } rmClient.finishApplicationMaster(request); }
finishAMRequest .setFinalApplicationStatus(FinalApplicationStatus.SUCCEEDED); finishAMRequest.setDiagnostics("diagnostics"); finishAMRequest.setTrackingUrl("url"); rmClient.finishApplicationMaster(finishAMRequest);
finishAMRequest .setFinalApplicationStatus(FinalApplicationStatus.SUCCEEDED); finishAMRequest.setDiagnostics("diagnostics"); finishAMRequest.setTrackingUrl("url"); rmClient.finishApplicationMaster(finishAMRequest);