Not primary; can’t move to replica – How to solve this Elasticsearch error

Average Read Time

2 Mins

Not primary; can’t move to replica – How to solve this Elasticsearch error

Opster Team

March-22, Version: 1.7-8.0

Before you begin reading this guide, we recommend you try running the Elasticsearch Check-Up which can resolve issues that cause many errors.

This guide will help you check for common problems that cause the log ” Not primary; can’t move to replica ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: cluster, routing.

Advanced users might want to skip right to the common problems section in each concept or try running the Check-Up to analyze Elasticsearch configuration and help resolve this error.

Log Context

Log “Not primary; can’t move to replica”classname  is ShardRouting.java We extracted the following from Elasticsearch source code for those seeking an in-depth context :

* @throws IllegalShardRoutingStateException if shard is already a replica
 */
 public ShardRouting moveUnassignedFromPrimary() {
 assert state == ShardRoutingState.UNASSIGNED : "expected an unassigned shard " + this;
 if (primary == false) {
 throw new IllegalShardRoutingStateException(this; "Not primary; can't move to replica");
 }
 return new ShardRouting(
 shardId;
 currentNodeId;
 relocatingNodeId;

 

Watch a demo of the Check-Up:

Analyze your cluster