From 4a41e4290ec25bf1165ebc4f043baffb13729a72 Mon Sep 17 00:00:00 2001 From: Wenjun Ruan Date: Wed, 26 Jun 2024 22:05:00 +0800 Subject: [PATCH] Fix worker overload will casue task failed --- .../server/master/runner/BaseTaskDispatcher.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/BaseTaskDispatcher.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/BaseTaskDispatcher.java index 30ab8fadec19..793ae378d0aa 100644 --- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/BaseTaskDispatcher.java +++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/BaseTaskDispatcher.java @@ -55,10 +55,11 @@ public void dispatchTask(TaskExecuteRunnable taskExecuteRunnable) throws TaskDis taskInstanceDispatchHost = getTaskInstanceDispatchHost(taskExecuteRunnable) .orElseThrow(() -> new TaskDispatchException("Cannot find the host to execute task.")); } catch (WorkerGroupNotFoundException workerGroupNotFoundException) { - log.error("Dispatch task: {} failed, worker group not found.", - taskExecuteRunnable.getTaskExecutionContext().getTaskName(), workerGroupNotFoundException); - addDispatchFailedEvent(taskExecuteRunnable); - return; + // todo: this is a temporary solution, we should refactor the ServerNodeManager to make sure there won't + // throw WorkerGroupNotFoundException unless the worker group is not exist in database + throw new TaskDispatchException( + "Dispatch task: " + taskExecuteRunnable.getTaskExecutionContext().getTaskName() + " failed", + workerGroupNotFoundException); } taskExecuteRunnable.getTaskExecutionContext().setHost(taskInstanceDispatchHost.getAddress()); doDispatch(taskExecuteRunnable);