Fix worker overload will casue task failed (#16223)

(cherry picked from commit 4a41e4290ec25bf1165ebc4f043baffb13729a72)
This commit is contained in:
Wenjun Ruan 2024-06-27 08:25:42 +08:00 committed by GitHub
parent 66b7d1274a
commit f13f070242
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -55,10 +55,11 @@ public abstract class BaseTaskDispatcher implements TaskDispatcher {
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);