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

Opster Team

Aug-23, Version: 1-1.1

Before you dig into reading this guide, have you tried asking OpsGPT what this log means? You’ll receive a customized analysis of your log.

Try OpsGPT now for step-by-step guidance and tailored insights into your OpenSearch operation.

Briefly, this error occurs when an index is found on a node that is not recognized by the cluster state. This is known as a “dangled” index. It usually happens when a node rejoins a cluster after a long disconnection. To resolve this issue, you can either import the dangled index if it contains important data or delete it if it’s not needed. You can also prevent this from happening by ensuring that all nodes have stable connections to the cluster and by regularly monitoring the cluster’s health.

For a complete solution to your to your search operation, try for free AutoOps for Elasticsearch & OpenSearch . With AutoOps and Opster’s proactive support, you don’t have to worry about your search operation – we take charge of it. Get improved performance & stability with less hardware.

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 OpenSearch concepts: node, dangled, index.

Log Context

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

                            upgradedIndexMetadata = IndexMetadata.builder(upgradedIndexMetadata).settings(
                                Settings.builder().put(upgradedIndexMetadata.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);
                            upgradedIndexMetadata = IndexMetadata.builder(indexMetadata).state(IndexMetadata.State.CLOSE)
                                .version(indexMetadata.getVersion() + 1).build();
                        }
                        metadata.put(upgradedIndexMetadata; false);

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Get expert answers on Elasticsearch/OpenSearch