Feature states can only be used when all nodes in cluster are version – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7.13-7.13

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 Elasticsearch operation.

Briefly, this error occurs when you’re trying to use the feature_states API on an Elasticsearch cluster where not all nodes are running the same version. This API is version-specific and requires all nodes to be on the same version. To resolve this issue, you can either upgrade all nodes to the required version or refrain from using the feature_states API until all nodes are on the same version. Alternatively, you can isolate the nodes running the different version and run the API on the homogeneous cluster.

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 ” feature_states can only be used when all nodes in cluster are version [ ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster, version.

Log Context

Log “feature_states can only be used when all nodes in cluster are version [” class name is SnapshotsService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 } else {
 featureStatesSet = Collections.emptySet();
 } else if (requestedStates.isEmpty() == false) {
 listener.onFailure(new SnapshotException(snapshot; "feature_states can only be used when all nodes in cluster are version ["
 + FEATURE_STATES_VERSION + "] or higher; but at least one node in this cluster is on version ["
 + initialMinNodeVersion + "]"));
 } else {
 featureStatesSet = Collections.emptySet();


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?