[
https://issues.apache.org/jira/browse/GOBBLIN-1784?focusedWorklogId=844882&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-844882
]
ASF GitHub Bot logged work on GOBBLIN-1784:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 10/Feb/23 21:31
Start Date: 10/Feb/23 21:31
Worklog Time Spent: 10m
Work Description: ZihanLi58 commented on code in PR #3641:
URL: https://github.com/apache/gobblin/pull/3641#discussion_r1103262698
##########
gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java:
##########
@@ -1048,9 +1049,6 @@ private void submitJob(DagNode<JobExecutionPlan> dagNode)
{
/**
* Method that defines the actions to be performed when a job finishes
either successfully or with failure.
* This method updates the state of the dag and performs clean up actions
as necessary.
- * TODO : Dag should have a status field, like JobExecutionPlan has. This
method should update that field,
Review Comment:
Seems we remove failedDagIdsFinishRunning, failedDagIdsFinishAllPossible in
this PR as well. But I don't have enough context for what these two are used
for right now and how current implementation can support the same use case.
Should we separate this into a separate PR? Or at lease, please describe the
change in PR description.
Issue Time Tracking
-------------------
Worklog Id: (was: 844882)
Time Spent: 40m (was: 0.5h)
> Race condition where on service restart DagManager will lose track of dags
> --------------------------------------------------------------------------
>
> Key: GOBBLIN-1784
> URL: https://issues.apache.org/jira/browse/GOBBLIN-1784
> Project: Apache Gobblin
> Issue Type: Bug
> Components: gobblin-service
> Reporter: William Lo
> Assignee: Abhishek Tiwari
> Priority: Major
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Gobblin-as-a-Service has a bug where on restart, the DagManager will clean up
> dags but a flow event is never sent.
> This leads to a scenario where if the event is never sent by the underlying
> notification system, the dag will already be cleaned up and thus the job
> status will permanently be stuck in a running state.
> The DagManager thus should only clean up its own reference of dags after it
> reads that the jobstatus monitor has properly saved the final flow status,
> and if a status hasn't been received by some timestamp (e.g. 5 mins), then
> the DagManager will re-emit the event in case it was lost.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)