📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当在 Elasticsearch 中已关闭的分片上尝试执行操作时,会发生此错误。这可能是由于手动关闭,或者由 Elasticsearch 内部机制触发的自动关闭。要解决此问题,如果分片是手动关闭的,可以重新打开已关闭的分片。如果是由于系统问题而自动关闭,您可能需要调查根本原因,例如资源不足或网络分区,并相应地解决问题。此外,确保您的应用程序能够优雅地处理此类错误,以防止服务中断。

日志上下文 #

日志"source shard is closed"的类名是 PeerRecoveryTargetService.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

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);
 }