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 void waitForJobLogs(List<ApplicationReport> projectsApps, YarnClient client) throws YarnException, IOException, InterruptedException { for (ApplicationReport appReport : projectsApps) { FinalApplicationStatus finalState = appReport.getFinalApplicationStatus(); while (finalState.equals(FinalApplicationStatus.UNDEFINED)) { client.killApplication(appReport.getApplicationId()); appReport = client.getApplicationReport(appReport.getApplicationId()); finalState = appReport.getFinalApplicationStatus(); } LogAggregationStatus logAggregationState = appReport.getLogAggregationStatus(); while (!YarnLogUtil.isFinal(logAggregationState)) { Thread.sleep(500); appReport = client.getApplicationReport(appReport.getApplicationId()); logAggregationState = appReport.getLogAggregationStatus(); } } }
while (finalState.equals(FinalApplicationStatus.UNDEFINED)) { client.killApplication(appReport.getApplicationId()); appReport = client.getApplicationReport(appReport.getApplicationId());