Log Discovered which is also master but with an older cluster-state; telling to rejoin the cluster () – How To Solve Related Issues


Log Discovered 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 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 ” Discovered 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

Log “discovered [{}] 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 :

         assert Thread.currentThread().getName().contains(InternalClusterService.UPDATE_THREAD_NAME) : "not called from the cluster state update thread";

        if (otherClusterStateVersion > localClusterState.version()) {
            return rejoin(localClusterState; "zen-disco-discovered another master with a new cluster_state [" + otherMaster + "][" + reason + "]");
        } else {
            logger.warn("discovered [{}] which is also master but with an older cluster_state; telling [{}] to rejoin the cluster ([{}])"; otherMaster; otherMaster; reason);
            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)
                transportService.connectToNode(otherMaster);




 

Optimize Elasticsearch Performance

Try The Tool