Snapshot is not allowed – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when you try to create a snapshot in Elasticsearch but the operation is not permitted due to certain conditions. This could be because the cluster is not in a state where it can safely take a snapshot, or the repository is read-only. To resolve this issue, you can check the cluster health and ensure it’s in a good state. If the repository is read-only, you can change its settings to allow write operations. Also, ensure that the user has the necessary permissions to create a snapshot.

This guide will help you check for common problems that cause the log ” snapshot is not allowed ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: shard, index, snapshot.

Log Context

Log “snapshot is not allowed” class name is IndexShard.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 final IndexShardState state = this.state; // one time volatile read
 // we allow snapshot on closed index shard; since we want to do one after we close the shard and before we close the engine
 if (state == IndexShardState.STARTED || state == IndexShardState.CLOSED) {
 return getEngine().acquireLastIndexCommit(flushFirst);
 } else {
 throw new IllegalIndexShardStateException(shardId; state; "snapshot is not allowed");
 }
 }  /**
 * Acquires the {@link IndexCommit} which should be included in a snapshot.

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.