Source shard is closed – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when an operation is attempted on a shard that has been closed in Elasticsearch. This could be due to a manual closure or an automatic one triggered by Elasticsearch’s internal mechanisms. To resolve this issue, you can reopen the closed shard if it was manually closed. If it was automatically closed due to a system issue, you may need to investigate the root cause, such as insufficient resources or a network partition, and address it accordingly. Additionally, ensure that your application handles such errors gracefully to prevent disruption.

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

Log Context

Log “source shard is closed” class name is PeerRecoveryTargetService.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 reestablishRecovery(request; cause.getMessage(); recoverySettings.retryDelayNetwork());
 return;
 }  if (cause instanceof AlreadyClosedException) {
 onGoingRecoveries.failRecovery(recoveryId; new RecoveryFailedException(request; "source shard is closed"; cause); false);
 return;
 }  onGoingRecoveries.failRecovery(recoveryId; new RecoveryFailedException(request; e); true);
 }

 

 [ratemypost]