Log Dangling index; exists on local file system; but not in cluster metadata; auto import to cluster state – How To Solve Related Issues


Log Dangling index; exists on local file system; but not in cluster metadata; auto import to cluster state – How To Solve Related Issues

Opster Team

Feb-20, Version: 1.7-8.0

 

Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which can resolve issues that cause many errors.

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; auto import to cluster state ” to appear. It’s important to understand the issues related to the log, so to get started, read the general overview on common issues and tips related to the Elasticsearch concepts: cluster, dangling, discovery-file and indices.

Advanced users might want to skip right to the common problems section in each concept or try running the Check-Up which analyses ES to pinpoint the cause of many errors and provides suitable actionable recommendations how to resolve them (free tool that requires no installation).

Log context

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

         for (String indexName : indices) {
            if (metaData.hasIndex(indexName) == false && danglingIndices.containsKey(indexName) == false) {
                try {
                    IndexMetaData indexMetaData = metaStateService.loadIndexState(indexName);
                    if (indexMetaData != null) {
                        logger.info("[{}] dangling index; exists on local file system; but not in cluster metadata; auto import to cluster state"; indexName);
                        if (!indexMetaData.getIndex().equals(indexName)) {
                            logger.info("dangled index directory name is [{}]; state name is [{}]; renaming to directory name"; indexName; indexMetaData.getIndex());
                            indexMetaData = IndexMetaData.builder(indexMetaData).index(indexName).build();
                        }
                        newIndices.put(indexName; indexMetaData);




 





Optimize Elasticsearch Performance

Try The Tool