Task with id taskId already exist – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when a task with the same ID is already running in Elasticsearch. This could be due to a previous task not completing properly or a new task being initiated with an existing ID. To resolve this issue, you can either wait for the existing task to complete or terminate it manually. Alternatively, you can assign a unique ID to the new task to avoid duplication.

This guide will help you check for common problems that cause the log ” task with id {” + taskId + “} already exist ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: persistent, task.

Log Context

Log “task with id {” + taskId + “} already exist” class name is PersistentTasksClusterService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 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");
 }  PersistentTasksExecutor taskExecutor = registry.getPersistentTaskExecutorSafe(taskName);
 taskExecutor.validate(taskParams; currentState);

 

 [ratemypost]