Fix worker overload will casue task failed (#16221)

This commit is contained in:
Wenjun Ruan 2024-06-27 13:37:13 +08:00 committed by GitHub
parent e8566818b0
commit 02bef74296
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 4 deletions

View File

@ -55,10 +55,11 @@ public abstract class BaseTaskDispatcher implements TaskDispatcher {
taskInstanceDispatchHost = getTaskInstanceDispatchHost(taskExecuteRunnable) taskInstanceDispatchHost = getTaskInstanceDispatchHost(taskExecuteRunnable)
.orElseThrow(() -> new TaskDispatchException("Cannot find the host to execute task.")); .orElseThrow(() -> new TaskDispatchException("Cannot find the host to execute task."));
} catch (WorkerGroupNotFoundException workerGroupNotFoundException) { } catch (WorkerGroupNotFoundException workerGroupNotFoundException) {
log.error("Dispatch task: {} failed, worker group not found.", // todo: this is a temporary solution, we should refactor the ServerNodeManager to make sure there won't
taskExecuteRunnable.getTaskExecutionContext().getTaskName(), workerGroupNotFoundException); // throw WorkerGroupNotFoundException unless the worker group is not exist in database
addDispatchFailedEvent(taskExecuteRunnable); throw new TaskDispatchException(
return; "Dispatch task: " + taskExecuteRunnable.getTaskExecutionContext().getTaskName() + " failed",
workerGroupNotFoundException);
} }
taskExecuteRunnable.getTaskExecutionContext().setHost(taskInstanceDispatchHost.getAddress()); taskExecuteRunnable.getTaskExecutionContext().setHost(taskInstanceDispatchHost.getAddress());
doDispatch(taskExecuteRunnable); doDispatch(taskExecuteRunnable);