版本: 7.3-8.9
简而言之,当 Elasticsearch 尝试在分片重新分配或恢复期间在节点之间传输文件时,会发生此错误并失败。这可能是由于网络问题、磁盘空间问题或文件系统错误造成的。要解决此问题,您可以检查节点之间的网络连接,确保有足够的磁盘空间,并验证文件系统完整性。此外,请检查 Elasticsearch 日志以获取更详细的错误信息。如果问题仍然存在,请考虑重启 Elasticsearch 节点甚至整个集群。
日志上下文 #
日志 “sendFileStep failed” 类名是 RecoverySourceHandler.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
assert Transports.assertNotTransportThread(RecoverySourceHandler.this + "[phase1]");
phase1(safeCommitRef.getIndexCommit(); startingSeqNo; () -> estimateNumOps; sendFileStep);
}; onFailure)); } catch (final Exception e) {
throw new RecoveryEngineException(shard.shardId(); 1; "sendFileStep failed"; e);
}
}
assert startingSeqNo >= 0 : "startingSeqNo must be non negative. got: " + startingSeqNo; sendFileStep.addListener(ActionListener.wrap(r -> {





