Dangling index exists on local file system but not in cluster metadata scheduling to delete in auto import to cluster state – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 1.7-1.7

Briefly, this error occurs when Elasticsearch detects an index on the local file system that is not present in the cluster metadata. This is known as a “dangling” index. Elasticsearch schedules these indices for deletion or auto-import to the cluster state. To resolve this issue, you can manually import the dangling index using the Import Dangling Index API. Alternatively, you can adjust the “gateway.auto_import_dangling_indices” setting to “true” to automatically import dangling indices, or to “false” to prevent auto-import and deletion.

This guide will help you check for common problems that cause the log ” [{}] dangling index; exists on local file system; but not in cluster metadata; scheduling to delete in [{}]; auto import to cluster state [{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster, dangling, delete and discovery-file.

Log Context

Log “[{}] dangling index; exists on local file system; but not in cluster metadata; scheduling to delete in [{}]; auto import to cluster state [{}]” classname is LocalGatewayMetaState.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

danglingIndices.put(indexName; new DanglingIndex(indexName; null));
                                } else if (danglingTimeout.millis() == 0) {
                                    logger.info("[{}] dangling index; exists on local file system; but not in cluster metadata; timeout set to 0; deleting now"; indexName);
                                    indicesService.deleteIndexStore("dangling index with timeout set to 0"; indexMetaData; state);
                                } else {
                                    logger.info("[{}] dangling index; exists on local file system; but not in cluster metadata; scheduling to delete in [{}]; auto import to cluster state [{}]"; indexName; danglingTimeout; autoImportDangled);
                                    danglingIndices.put(indexName;
                                            new DanglingIndex(indexName;
                                                    threadPool.schedule(danglingTimeout;
                                                            ThreadPool.Names.SAME;
                                                            new RemoveDanglingIndex(indexMetaData))));

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.