Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.
To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.
This guide will help you check for common problems that cause the log ” Cannot delete data frame analytics while its status is ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: delete, plugin.
Overview
DELETE is an Elasticsearch API which removes a document from a specific index. This API requires an index name and _id document to delete the document.
Delete a document
DELETE /my_index/_doc/1
Notes
- A delete request throws 404 error code if the document does not already exist in the index.
- If you want to delete a set of documents that matches a query, you need to use delete by query API.
Log Context
Log “Cannot delete data frame analytics [{}] while its status is [{}]”classname is TransportDeleteDataFrameAnalyticsAction.java We extracted the following from Elasticsearch source code for those seeking an in-depth context :
String id = request.getId(); PersistentTasksCustomMetadata tasks = state.getMetadata().custom(PersistentTasksCustomMetadata.TYPE); DataFrameAnalyticsState taskState = MlTasks.getDataFrameAnalyticsState(id; tasks); if (taskState != DataFrameAnalyticsState.STOPPED) { listener.onFailure( ExceptionsHelper.conflictStatusException("Cannot delete data frame analytics [{}] while its status is [{}]"; id; taskState) ); return; } // We clean up the memory tracker on delete because there is no stop; the task stops by itself
See how you can use AutoOps to resolve issues