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

版本: 6.8-7.3

简要来说,当您尝试恢复使用不同(通常是较旧)版本的 Elasticsearch 创建的快照时,会出现此错误。快照与您尝试恢复到的 Elasticsearch 版本不兼容。要解决此问题,您可以将 Elasticsearch 升级到与快照兼容的版本,或者使用当前版本的 Elasticsearch 创建新的快照。此外,您可以将快照恢复到兼容的 Elasticsearch 版本,重新索引数据,然后拍摄新的快照以在当前版本上恢复。

日志上下文 #

日志 “cannot restore incompatible snapshot” 类名是 RestoreService.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:

final RepositoryData repositoryData = repository.getRepositoryData();
 final String snapshotName = request.snapshot();
 final OptionalincompatibleSnapshotId =
 repositoryData.getIncompatibleSnapshotIds().stream().filter(s -> snapshotName.equals(s.getName())).findFirst();
 if (incompatibleSnapshotId.isPresent()) {
 throw new SnapshotRestoreException(repositoryName; snapshotName; "cannot restore incompatible snapshot");
 }
 final OptionalmatchingSnapshotId = repositoryData.getSnapshotIds().stream()
 .filter(s -> snapshotName.equals(s.getName())).findFirst();
 if (matchingSnapshotId.isPresent() == false) {
 throw new SnapshotRestoreException(repositoryName; snapshotName; "snapshot does not exist");