DeleteByQuery for state timed out – How to solve related issues

Opster Team

Feb-20, Version: 1.7-8.0

Before you begin reading this guide, we recommend you run Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many errors.

Briefly, this error occurs when Elasticsearch times out when executing a DeleteByQuery request, which is a request to delete documents from an index that match a particular query. The cause of this error can be due to long-running queries or issues with the hardware, like insufficient resources or a slow network. To resolve this error, you can try to optimize the query or increase Elasticsearch’s resource allocation, like memory or CPU. You can also use the scroll API to break the query into smaller pieces and execute it in batches, which can help prevent timeouts.

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. Take a self-guided product tour to see for yourself (no registration required).

This guide will help you check for common problems that cause the log ” DeleteByQuery for state timed out ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: delete, delete-by-query and plugin.

Log Context

Log “[{}] DeleteByQuery for state timed out” classname is TransportDeleteDataFrameAnalyticsAction.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 
        // Step 3. Delete the config
        ActionListener deleteStateHandler = ActionListener.wrap(
            bulkByScrollResponse -> {
                if (bulkByScrollResponse.isTimedOut()) {
                    logger.warn("[{}] DeleteByQuery for state timed out"; id);
                }
                if (bulkByScrollResponse.getBulkFailures().isEmpty() == false) {
                    logger.warn("[{}] {} failures and {} conflicts encountered while runnint DeleteByQuery for state"; id;
                        bulkByScrollResponse.getBulkFailures().size(); bulkByScrollResponse.getVersionConflicts());
                    for (BulkItemResponse.Failure failure : bulkByScrollResponse.getBulkFailures()) {




 

Watch product tour

Try AutoOps to find & fix Elasticsearch problems

Analyze Your Cluster
Skip to content