Found dangled index on node This index cannot be – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-7.15

Briefly, this error occurs when Elasticsearch detects an index that is not associated with any cluster state. This is known as a “dangled” index. It usually happens due to a failed deletion or a node that rejoins a cluster after a long disconnection. To resolve this issue, you can manually delete the dangled index if it’s not needed. Alternatively, you can use the ‘dangling_index_import’ setting to automatically import the dangled index into the cluster. However, be cautious as this might lead to data duplication if the index was already re-created.

This guide will help you check for common problems that cause the log ” found dangled index [{}] on node [{}]. This index cannot be ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index, node, dangled.

Log Context

Log “found dangled index [{}] on node [{}]. This index cannot be ” classname is LocalAllocateDangledIndices.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                            newIndexMetadata = IndexMetadata.builder(newIndexMetadata).settings(
                                Settings.builder().put(newIndexMetadata.getSettings()).put(
                                    IndexMetadata.SETTING_HISTORY_UUID; UUIDs.randomBase64UUID())).build();
                        } catch (Exception ex) {
                            // upgrade failed - adding index as closed
                            logger.warn(() -> new ParameterizedMessage("found dangled index [{}] on node [{}]. This index cannot be " +
                                "upgraded to the latest version; adding as closed"; indexMetadata.getIndex(); request.fromNode); ex);
                            newIndexMetadata = IndexMetadata.builder(indexMetadata).state(IndexMetadata.State.CLOSE)
                                .version(indexMetadata.getVersion() + 1).build();
                        }
                        metadata.put(newIndexMetadata; false);

 

 [ratemypost]