[
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)