You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dolphinscheduler.apache.org by Elon Lo <ga...@gmail.com> on 2020/04/02 08:08:46 UTC

Discuss the process instance is always running

hi everyone



A process instance that has been running for several days recently appeared in the production cluster (Figure 1).

Enter the process instance interface to view that one task was killed by the system (the system has insufficient memory). The entire process instance is stuck in the waiting state (see Figure 2).

After debugging the code, find the <isTaskDepsComplete> function. This function detects the completion status of the dependent task. When the dependent [test] task is in the KILL or STOP state, the [end] task is always in the waiting state, causing the process instance to never end (such as Figures 3 and 4)

When I change it to the following, everything seems to be OK (the final status of the process instance is failed). I think this is a bug, or is there another purpose?

ExecutionStatus taskState = completeTaskList.get(depsNode).getState();
if(taskState.typeIsFailure() || taskState.typeIsCancel()){
    return DependResult.FAILED;
}
if(taskState.typeIsPause()){
    return DependResult.WAITING;
}

Re: Discuss the process instance is always running

Posted by Elon Lo <ga...@gmail.com>.
sorry, I have not added a new issue yet. I’m not sure if this is a bug

> On Apr 2, 2020, at 7:20 PM, lidong dai <da...@gmail.com> wrote:
> 
> I'm sorry, the github issue id is ? , I can't find the corresponding issue on the github, I want to bind the issue with mail list  
> 
> 
> 
> Best Regards
> ---------------
> DolphinScheduler(Incubator) PPMC
> Lidong Dai 代立冬
> dailidong66@gmail.com <ma...@gmail.com>
> ---------------
> 
> 
> Elon Lo <gamelifedong@gmail.com <ma...@gmail.com>> 于2020年4月2日周四 下午4:09写道:
> hi everyone
> 
> 
> 
> A process instance that has been running for several days recently appeared in the production cluster (Figure 1).
> 
> Enter the process instance interface to view that one task was killed by the system (the system has insufficient memory). The entire process instance is stuck in the waiting state (see Figure 2).
> 
> After debugging the code, find the <isTaskDepsComplete> function. This function detects the completion status of the dependent task. When the dependent [test] task is in the KILL or STOP state, the [end] task is always in the waiting state, causing the process instance to never end (such as Figures 3 and 4)
> 
> When I change it to the following, everything seems to be OK (the final status of the process instance is failed). I think this is a bug, or is there another purpose?
> 
> ExecutionStatus taskState = completeTaskList.get(depsNode).getState();
> if(taskState.typeIsFailure() || taskState.typeIsCancel()){
>     return DependResult.FAILED;
> }
> if(taskState.typeIsPause()){
>     return DependResult.WAITING;
> }


Re: Discuss the process instance is always running

Posted by lidong dai <da...@gmail.com>.
I'm sorry, the github issue id is ? , I can't find the corresponding issue
on the github, I want to bind the issue with mail list



Best Regards
---------------
DolphinScheduler(Incubator) PPMC
Lidong Dai 代立冬
dailidong66@gmail.com
---------------


Elon Lo <ga...@gmail.com> 于2020年4月2日周四 下午4:09写道:

> hi everyone
>
>
> A process instance that has been running for several days recently
> appeared in the production cluster (Figure 1).
>
> Enter the process instance interface to view that one task was killed by
> the system (the system has insufficient memory). The entire process
> instance is stuck in the waiting state (see Figure 2).
>
> After debugging the code, find the <isTaskDepsComplete> function. This
> function detects the completion status of the dependent task. When the
> dependent [test] task is in the KILL or STOP state, the [end] task is
> always in the waiting state, causing the process instance to never end
> (such as Figures 3 and 4)
>
> When I change it to the following, everything seems to be OK (the final
> status of the process instance is failed). I think this is a bug, or is
> there another purpose?
>
> ExecutionStatus taskState = completeTaskList.get(depsNode).getState();
> if(taskState.typeIsFailure() || taskState.typeIsCancel()){
>     return DependResult.FAILED;
> }
> if(taskState.typeIsPause()){
>     return DependResult.WAITING;
> }
>