版本: 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");





