版本: 8.4-8.7
简要来说,当Elasticsearch尝试将任务分配给已经有正在执行任务的模型时,会出现此错误。这种情况在机器学习作业中很常见,即模型正在处理任务,而另一个任务又被分配给它。要解决此问题,您可以在分配新任务之前等待当前任务完成,或者停止当前任务然后再分配新任务。另外,您还可以创建一个新模型并将任务分配给它。
日志上下文 #
日志"assignment for model with id [{}] already exists"的类名是 TrainedModelAssignmentRebalancer.java。我们从Elasticsearch源代码中提取了以下内容,供那些需要深入了解上下文的人参考:
this.modelToAdd = Objects.requireNonNull(modelToAdd);
} TrainedModelAssignmentMetadata.Builder rebalance() throws Exception {
if (modelToAdd.isPresent() && currentMetadata.hasModel(modelToAdd.get().getModelId())) {
throw new ResourceAlreadyExistsException("assignment for model with id [{}] already exists"; modelToAdd.get().getModelId());
} if (modelToAdd.isEmpty() && areAllModelsSatisfiedAndNoOutdatedRoutingEntries()) {
logger.trace(() -> "No need to rebalance as all model deployments are satisfied");
return TrainedModelAssignmentMetadata.Builder.fromMetadata(currentMetadata);





