Incoming last accepted version – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7-7.15

Briefly, this error occurs when there is a version conflict between the nodes in an Elasticsearch cluster. This can happen during a rolling upgrade or when a node rejoins the cluster after a network partition. To resolve this issue, you can try to restart the node that is causing the conflict. If that doesn’t work, you may need to perform a full cluster restart. Alternatively, you can try to manually set the version number on the problematic node to match the rest of the cluster.

This guide will help you check for common problems that cause the log ” incoming last accepted 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 “incoming last accepted version” class name is CoordinationState.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 if (join.getLastAcceptedTerm() == lastAcceptedTerm && join.getLastAcceptedVersion() > getLastAcceptedVersionOrMetadataVersion()) {
 logger.debug(
 "handleJoin: ignored join as joiner has a better last accepted version (expected: <=[{}]; actual: [{}]) in term {}";
 getLastAcceptedVersionOrMetadataVersion(); join.getLastAcceptedVersion(); lastAcceptedTerm);
 throw new CoordinationStateRejectedException("incoming last accepted version " + join.getLastAcceptedVersion() +
 " of join higher than current last accepted version " + getLastAcceptedVersionOrMetadataVersion()
 + " in term " + lastAcceptedTerm);
 }  if (getLastAcceptedConfiguration().isEmpty()) {

 

 [ratemypost]