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

版本: 7.16-8.9

简而言之,当源节点在分片恢复过程中向目标节点传输数据时取消操作,就会发生此错误。这可能是由于源节点宕机、网络问题或恢复过程耗时过长造成的。要解决此问题,可以尝试在源节点宕机时重启它,检查并修复网络连接问题,或者增加 Elasticsearch 中的恢复超时设置。此外,确保集群有足够的资源来处理恢复过程。

日志上下文 #

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

}
 if (cause instanceof CancellableThreads.ExecutionCancelledException) {
 // this can also come from the source wrapped in a RemoteTransportException
 onGoingRecoveries.failRecovery(
 recoveryId;
 new RecoveryFailedException(request; "source has canceled the recovery"; cause);
 false
 );
 return;
 }
 if (cause instanceof RecoveryEngineException) {