[ https://issues.apache.org/jira/browse/GOBBLIN-2193?focusedWorklogId=955830&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-955830 ]
ASF GitHub Bot logged work on GOBBLIN-2193: ------------------------------------------- Author: ASF GitHub Bot Created on: 06/Feb/25 10:30 Start Date: 06/Feb/25 10:30 Worklog Time Spent: 10m Work Description: iPalash commented on code in PR #4096: URL: https://github.com/apache/gobblin/pull/4096#discussion_r1944482680 ########## gobblin-temporal/src/main/java/org/apache/gobblin/temporal/joblauncher/GobblinTemporalJobLauncher.java: ########## @@ -107,13 +111,38 @@ protected Config applyJobLauncherOverrides(Config config) { return configOverrides.withFallback(config); } + private String getIssuesSummary() { + TextStringBuilder sb = new TextStringBuilder(); + try { + List<Issue> issues = this.getIssueRepository().getAll(); + sb.appendln(""); + sb.appendln("vvvvv============= Issues (summary) =============vvvvv"); + + for (int i = 0; i < issues.size(); i++) { + Issue issue = issues.get(i); + + sb.appendln("%s) %s %s %s | source: %s", i + 1, issue.getSeverity().toString(), issue.getCode(), + issue.getSummary(), issue.getSourceClass()); + } + sb.append("^^^^^=============================================^^^^^"); + sb.toString(); + } + catch(Exception e) { + log.warn("Failed to get issue summary", e); + } + return sb.toString(); + } + @Override protected void handleLaunchFinalization() { // NOTE: This code only makes sense when there is 1 source / workflow being launched per application for Temporal. This is a stop-gap // for achieving batch job behavior. Given the current constraints of yarn applications requiring a static proxy user // during application creation, it is not possible to have multiple workflows running in the same application. // and so it makes sense to just kill the job after this is completed log.info("Requesting the AM to shutdown after the job {} completed", this.jobContext.getJobId()); + JobState jobState = this.jobContext.getJobState(); + String issuesSummary = this.getIssuesSummary(); + eventBus.post(new JobFailureEvent(jobState, issuesSummary)); Review Comment: Renamed to `JobSummaryEvent` & added in both cases Issue Time Tracking ------------------- Worklog Id: (was: 955830) Time Spent: 1h 10m (was: 1h) > Fail Azkaban job on when temporal job fails > ------------------------------------------- > > Key: GOBBLIN-2193 > URL: https://issues.apache.org/jira/browse/GOBBLIN-2193 > Project: Apache Gobblin > Issue Type: Improvement > Reporter: Swapnil Palash > Assignee: Hung Tran > Priority: Major > Time Spent: 1h 10m > Remaining Estimate: 0h > > Currently when the temporal job running on Yarn fails, we don't propagate the > error back to Azkaban job which launches the Yarn Application. > The change here bubbles the issues encountered when the job fails upto the > GobblinYarnAppLaucher run by the Azkaban job and fails with a > RuntimeException after logging the issues summary. -- This message was sent by Atlassian Jira (v8.20.10#820010)