📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当Elasticsearch中已经有一个具有相同ID的任务正在运行时,就会出现此错误。这可能是由于之前的任务没有正确完成,或者使用现有ID启动了新任务。要解决此问题,您可以等待现有任务完成或手动终止它。另外,您可以为新任务分配一个唯一的ID以避免重复。

日志上下文 #


日志"task with id {" + taskId + “} already exist"的类名是 PersistentTasksClusterService.java。我们从Elasticsearch源代码中提取了以下内容,供寻求深入了解的用户参考:

submitUnbatchedTask("create persistent task"; new ClusterStateUpdateTask() {
 @Override
 public ClusterState execute(ClusterState currentState) {
 PersistentTasksCustomMetadata.Builder builder = builder(currentState);
 if (builder.hasTask(taskId)) {
 throw new ResourceAlreadyExistsException("task with id {" + taskId + "} already exist");
 }  PersistentTasksExecutortaskExecutor = registry.getPersistentTaskExecutorSafe(taskName);
 taskExecutor.validate(taskParams; currentState);