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

Reply via email to