Received cluster state from which is also master but with an older cluster_state. telling to rejoin the cluster – How to solve related issues

Average Read Time

2 Mins

Received cluster state from which is also master but with an older cluster_state. telling to rejoin the cluster – How to solve related issues

Opster Team

Feb-20, Version: 1.7-8.0

Before you begin reading this guide, we recommend you run 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 ” Received cluster state from which is also master but with an older cluster_state. telling to rejoin the cluster ” 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, discovery and master.

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

{{mpg_logstarted}}

Log “received cluster state from [{}] which is also master but with an older cluster_state; telling [{}] to rejoin the cluster” classname is ZenDiscovery.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

                 public ClusterState execute(ClusterState currentState) {
                    if (newState.version() > currentState.version()) {
                        logger.warn("received cluster state from [{}] which is also master but with a newer cluster_state; rejoining to cluster..."; newState.nodes().masterNode());
                        return rejoin(currentState; "zen-disco-master_receive_cluster_state_from_another_master [" + newState.nodes().masterNode() + "]");
                    } else {
                        logger.warn("received cluster state from [{}] which is also master but with an older cluster_state; telling [{}] to rejoin the cluster"; newState.nodes().masterNode(); newState.nodes().masterNode());

                        try {
                            // make sure we're connected to this node (connect to node does nothing if we're already connected)
                            // since the network connections are asymmetric; it may be that we received a state but have disconnected from the node
                            // in the past (after a master failure; for example)




 

Run the Check-Up to get a customized report like this:

Analyze your cluster