Read not allowed on IndexShard – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 7.16-8.9

Briefly, this error occurs when an attempt is made to read data from an Elasticsearch index shard that is not in a readable state. This could be due to the shard being in a recovery, initialization, or relocation state. To resolve this issue, you can wait for the shard to become available again. If the problem persists, you may need to check the cluster health and ensure that all shards are properly allocated. If necessary, you can manually reallocate the shards or consider increasing the number of replicas for better availability.

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

Log Context

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

 if (readAllowed) {
 refreshListeners.addOrNotify(checkpoint; allowUnIssuedSequenceNumber; listener);
 } else {
 // we're not yet ready for reads; fail to notify client
 listener.onFailure(new IllegalIndexShardStateException(shardId; state; "Read not allowed on IndexShard"));
 }  private static class RefreshMetricUpdater implements ReferenceManager.RefreshListener {