[Fix-9065] [master] when task submit failed, remove from queue and add state event to thread (#9186)
* [Fix-9065] [master] when task submit failed, remove from queue and add state event to thread This closes #9065 * Update dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java yes, your idea is better Co-authored-by: caishunfeng <caishunfeng2021@gmail.com> * [Bug-9065] [master] update logger info Co-authored-by: guoshupei <guoshupei@lixiang.com> Co-authored-by: caishunfeng <caishunfeng2021@gmail.com>dependabot/maven/org.springframework-spring-beans-5.3.18
parent
6b2a4e31ea
commit
3e5781b6e1
|
|
@ -1637,7 +1637,9 @@ public class WorkflowExecuteThread {
|
|||
stateEvent.setExecutionStatus(processInstance.getState());
|
||||
stateEvent.setProcessInstanceId(this.processInstance.getId());
|
||||
stateEvent.setType(StateEventType.PROCESS_STATE_CHANGE);
|
||||
this.processStateChangeHandler(stateEvent);
|
||||
// this.processStateChangeHandler(stateEvent);
|
||||
// replace with `stateEvents`, make sure `WorkflowExecuteThread` can be deleted to avoid memory leaks
|
||||
this.stateEvents.add(stateEvent);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1800,6 +1802,11 @@ public class WorkflowExecuteThread {
|
|||
TaskInstance taskInstance = submitTaskExec(task);
|
||||
if (taskInstance == null) {
|
||||
this.taskFailedSubmit = true;
|
||||
// Remove and add to complete map and error map
|
||||
removeTaskFromStandbyList(task);
|
||||
completeTaskMap.put(task.getTaskCode(), task.getId());
|
||||
errorTaskMap.put(task.getTaskCode(), task.getId());
|
||||
logger.error("process {}, task {}, code:{} submit task failed.", task.getProcessInstanceId(), task.getName(), task.getTaskCode());
|
||||
} else {
|
||||
removeTaskFromStandbyList(task);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue