版本: 6.8-8.9
简而言之,当Elasticsearch遇到它未曾预料到的问题时,就会出现此错误,因此称为"意外错误"。这可能是由于各种原因造成的,例如配置不正确、资源不足或软件错误。要解决此问题,您可以尝试以下方法:1)检查Elasticsearch日志以获取有关错误的更详细信息。2)验证您的配置是否正确。3)确保Elasticsearch具有足够的资源(CPU、内存、磁盘空间)。4)将Elasticsearch更新到最新版本以修复任何潜在的bug。
日志上下文 #
日志"unexpected error"的类名是 PeerRecoveryTargetService.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用:
try (RecoveryRef recoveryRef = onGoingRecoveries.getRecovery(recoveryId)) {
if (recoveryRef != null) {
logger.error(() -> "unexpected error during recovery [" + recoveryId + "]; failing shard", e);
onGoingRecoveries.failRecovery(
recoveryId,
new RecoveryFailedException(recoveryRef.target().state(), "unexpected error", e),
true // be safe
);
} else {
logger.debug(() -> "unexpected error during recovery; but recovery id [" + recoveryId + "] is finished", e);
}





