[
https://issues.apache.org/jira/browse/GOBBLIN-2181?focusedWorklogId=948320&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-948320
]
ASF GitHub Bot logged work on GOBBLIN-2181:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 13/Dec/24 17:03
Start Date: 13/Dec/24 17:03
Worklog Time Spent: 10m
Work Description: phet commented on code in PR #4084:
URL: https://github.com/apache/gobblin/pull/4084#discussion_r1884228067
##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagProcessingEngine.java:
##########
@@ -149,6 +158,16 @@ public void run() {
dagTask.conclude();
log.info(dagProc.contextualizeStatus("concluded dagTask"));
} catch (Exception e) {
+ log.error("DagProcEngineThread: " +
dagProc.contextualizeStatus("error"), e);
+ if (!DagProcessingEngine.isTransientException(e)) {
+ DagActionStore.DagAction dagAction = dagTask.getDagAction();
+ if (dagAction != null) {
+ log.warn(dagProc.contextualizeStatus("ignoring non-transient
exception by concluding so no retries"));
+ }
+
dagManagementStateStore.getDagManagerMetrics().dagProcessingNonRetryableExceptionMeter.mark();
+ dagTask.conclude();
+ }
+ // TODO add the else block for transient exceptions and add conclude
task only if retry limit is not breached
log.error("DagProcEngineThread: " +
dagProc.contextualizeStatus("error"), e);
Review Comment:
actually seems you did reorder... but this is actually a dup. keep only the
first and also move this up w/ it, before the special handling:
```
dagManagementStateStore.getDagManagerMetrics().dagProcessingExceptionMeter.mark();
```
Issue Time Tracking
-------------------
Worklog Id: (was: 948320)
Time Spent: 2.5h (was: 2h 20m)
> Non transient exception handling by flowspec removal
> ----------------------------------------------------
>
> Key: GOBBLIN-2181
> URL: https://issues.apache.org/jira/browse/GOBBLIN-2181
> Project: Apache Gobblin
> Issue Type: Bug
> Reporter: Vaibhav Singhal
> Priority: Major
> Time Spent: 2.5h
> Remaining Estimate: 0h
>
> - Many times we experience failures in flow initialization or processing due
> to which flow could not be concluded properly
> - Azkaban client exceptions and SQLIntegrityViolation exceptions are
> examples which have caused failures in recent history
> - Currently most of these failures are by default considered transient
> exceptions and are retried infinitely
> - As a side effect, it causes flows not to conclude and causes failures in
> future flow submissions which have caused incidents recently
>
> - As a first step we want to consider all exceptions as non transient and
> not retry and remove conclude the flow by removing flowspec and dag action
> - This issue tracks the changes to conclude the flow for non transient
> exceptions and also mark them as failure to reflect the correct status of the
> flow
--
This message was sent by Atlassian Jira
(v8.20.10#820010)