From 35194def10f54b3f4db04788e4a0b9cec3e965fc Mon Sep 17 00:00:00 2001 From: lixuekun Date: Thu, 15 Aug 2024 16:26:54 +0800 Subject: [PATCH 1/3] [Fix-16467][dolphinscheduler-master] Can't stop the subProcess instance successfully via STOP its master process instance --- .../master/rpc/LogicITaskInstanceDispatchOperationFunction.java | 2 ++ .../server/master/runner/task/dynamic/DynamicLogicTask.java | 2 +- .../master/runner/task/subworkflow/SubWorkflowLogicTask.java | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/LogicITaskInstanceDispatchOperationFunction.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/LogicITaskInstanceDispatchOperationFunction.java index 7590708208d5..f1f2713278aa 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/LogicITaskInstanceDispatchOperationFunction.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/rpc/LogicITaskInstanceDispatchOperationFunction.java @@ -24,6 +24,7 @@ import org.apache.dolphinscheduler.server.master.runner.execute.MasterTaskExecutionContextHolder; import org.apache.dolphinscheduler.server.master.runner.execute.MasterTaskExecutor; import org.apache.dolphinscheduler.server.master.runner.execute.MasterTaskExecutorFactoryBuilder; +import org.apache.dolphinscheduler.server.master.runner.execute.MasterTaskExecutorHolder; import org.apache.dolphinscheduler.server.master.runner.execute.MasterTaskExecutorThreadPoolManager; import lombok.extern.slf4j.Slf4j; @@ -64,6 +65,7 @@ public LogicTaskDispatchResponse operate(LogicTaskDispatchRequest taskDispatchRe .createMasterTaskExecutor(taskExecutionContext); if (masterTaskExecutorThreadPool.submitMasterTaskExecutor(masterTaskExecutor)) { log.info("Submit LogicTask: {} to MasterTaskExecutorThreadPool success", taskInstanceName); + MasterTaskExecutorHolder.putMasterTaskExecuteRunnable(masterTaskExecutor); return LogicTaskDispatchResponse.success(taskInstanceId); } else { log.error("Submit LogicTask: {} to MasterTaskExecutorThreadPool failed", taskInstanceName); diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/dynamic/DynamicLogicTask.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/dynamic/DynamicLogicTask.java index 12cae5c53ea0..e95a55e8f850 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/dynamic/DynamicLogicTask.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/dynamic/DynamicLogicTask.java @@ -338,7 +338,7 @@ private void sendToSubProcess(TaskExecutionContext taskExecutionContext, Process SingletonJdkDynamicRpcClientProxyFactory .getProxyClient(subProcessInstance.getHost(), ITaskInstanceExecutionEventListener.class); final WorkflowInstanceStateChangeEvent workflowInstanceStateChangeEvent = new WorkflowInstanceStateChangeEvent( - taskExecutionContext.getProcessInstanceId(), + subProcessInstance.getId(), taskExecutionContext.getTaskInstanceId(), subProcessInstance.getState(), subProcessInstance.getId(), diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/subworkflow/SubWorkflowLogicTask.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/subworkflow/SubWorkflowLogicTask.java index 5a44966bca4c..3449616366f9 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/subworkflow/SubWorkflowLogicTask.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/subworkflow/SubWorkflowLogicTask.java @@ -134,7 +134,7 @@ private void sendToSubProcess(TaskExecutionContext taskExecutionContext, SingletonJdkDynamicRpcClientProxyFactory .getProxyClient(subProcessInstance.getHost(), ITaskInstanceExecutionEventListener.class); final WorkflowInstanceStateChangeEvent workflowInstanceStateChangeEvent = new WorkflowInstanceStateChangeEvent( - taskExecutionContext.getProcessInstanceId(), + subProcessInstance.getId(), taskExecutionContext.getTaskInstanceId(), subProcessInstance.getState(), subProcessInstance.getId(), From 84d319211fb12b475d182608c7a91aa98c217a6f Mon Sep 17 00:00:00 2001 From: lixuekun Date: Fri, 16 Aug 2024 17:10:10 +0800 Subject: [PATCH 2/3] [Fix-16475][UI] Can't SET Timing successful in Workflow Definition grid --- .../src/views/projects/workflow/definition/use-table.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts b/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts index 04588517d8e0..197498a0e96f 100644 --- a/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts +++ b/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts @@ -306,6 +306,8 @@ export function useTable() { variables.timingState = row.scheduleReleaseState } else { variables.row = row + variables.timingType = 'create' + variables.timingState = null } } From e338af1784e91b42c04984be646e6a3812b4477f Mon Sep 17 00:00:00 2001 From: lixuekun Date: Thu, 22 Aug 2024 08:37:46 +0800 Subject: [PATCH 3/3] roll back the UI issue --- .../src/views/projects/workflow/definition/use-table.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts b/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts index 197498a0e96f..04588517d8e0 100644 --- a/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts +++ b/dolphinscheduler-ui/src/views/projects/workflow/definition/use-table.ts @@ -306,8 +306,6 @@ export function useTable() { variables.timingState = row.scheduleReleaseState } else { variables.row = row - variables.timingType = 'create' - variables.timingState = null } }