From 0be9dc2361780282ef87aa74a6e25727d82bd1b0 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Thu, 5 Jun 2025 09:50:24 +0100 Subject: [PATCH 1/4] Update the index compatibility information Fixes #1200 --- deploy-manage/tools/snapshot-and-restore.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deploy-manage/tools/snapshot-and-restore.md b/deploy-manage/tools/snapshot-and-restore.md index 94e17fd191..a0264121f4 100644 --- a/deploy-manage/tools/snapshot-and-restore.md +++ b/deploy-manage/tools/snapshot-and-restore.md @@ -143,14 +143,14 @@ You can’t restore a snapshot to an earlier version of {{es}}. For example, you Any index you restore from a snapshot must also be compatible with the current cluster’s version. If you try to restore an index created in an incompatible version, the restore attempt will fail. -| Index creation version | 6.8 | 7.0–7.1 | 7.2–7.17 | 8.0–8.2 | 8.3–8.17 | -|------------------------|-----|---------|---------|---------|---------| -| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ [^1^](#footnote-1) | -| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ [^1^](#footnote-1) | -| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | -| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | -| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | -| 8.0–8.17 | ❌ | ❌ | ❌ | ✅ | ✅ | +| Index creation version | 6.8 | 7.0–7.1 | 7.2–7.17 | 8.0–8.2 | 8.3–8.18 | 9.0 | +|------------------------|-----|---------|---------|---------|---------|-----| +| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ [^1^](#footnote-1) | ❌ | +| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ❌ | +| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ❌ | +| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | +| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | +| 8.0–8.17 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ^1^ $$$footnote-1$$$ Supported with [archive indices](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). From 605558825d6b52a1ce4ef8a00759d5dcb1ca544e Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Thu, 5 Jun 2025 16:33:01 +0100 Subject: [PATCH 2/4] Update the table with more details Found more details about the index compatibility version checks in #118941 and updated the docs to reflect that. --- deploy-manage/tools/snapshot-and-restore.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/deploy-manage/tools/snapshot-and-restore.md b/deploy-manage/tools/snapshot-and-restore.md index a0264121f4..ca1489773d 100644 --- a/deploy-manage/tools/snapshot-and-restore.md +++ b/deploy-manage/tools/snapshot-and-restore.md @@ -145,18 +145,20 @@ Any index you restore from a snapshot must also be compatible with the current c | Index creation version | 6.8 | 7.0–7.1 | 7.2–7.17 | 8.0–8.2 | 8.3–8.18 | 9.0 | |------------------------|-----|---------|---------|---------|---------|-----| -| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ [^1^](#footnote-1) | ❌ | -| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ❌ | -| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ❌ | -| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | -| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | +| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | +| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | +| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | +| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | +| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | | 8.0–8.17 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ^1^ $$$footnote-1$$$ Supported with [archive indices](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). +^2^ $$$footnote-2$$$ Supported with [searchable snapshots](/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md). + You can’t restore an index to an earlier version of {{es}}. For example, you can’t restore an index created in 7.6.0 to a cluster running 7.5.0. -A compatible snapshot can contain indices created in an older incompatible version. For example, a snapshot of a 7.17 cluster can contain an index created in 6.8. Restoring the 6.8 index to an 8.17 cluster fails unless you can use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). Keep this in mind if you take a snapshot before upgrading a cluster. +A compatible snapshot can contain indices created in an older incompatible version. For example, a snapshot of a 7.17 cluster can contain an index created in 6.8. Restoring the 6.8 index to an 8.18 cluster fails unless you use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). To restore a 7.17 index to a 9.0 cluster, you can use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md) or [searchable snapshots](/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md). Keep this in mind if you take a snapshot before upgrading a cluster. As a workaround, you can first restore the index to another cluster running the latest version of {{es}} that’s compatible with both the index and your current cluster. You can then use [reindex-from-remote](https://www.elastic.co/guide/en/elasticsearch/reference/8.18/docs-reindex.html#reindex-from-remote) to rebuild the index on your current cluster. Reindex from remote is only possible if the index’s [`_source`](elasticsearch://reference/elasticsearch/mapping-reference/mapping-source-field.md) is enabled. From 0054cc0d8fc880cc935007274fcc1342e795f74b Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Thu, 5 Jun 2025 17:43:21 +0100 Subject: [PATCH 3/4] Applying peer review comments --- deploy-manage/tools/snapshot-and-restore.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/deploy-manage/tools/snapshot-and-restore.md b/deploy-manage/tools/snapshot-and-restore.md index ca1489773d..ec424109f2 100644 --- a/deploy-manage/tools/snapshot-and-restore.md +++ b/deploy-manage/tools/snapshot-and-restore.md @@ -150,17 +150,19 @@ Any index you restore from a snapshot must also be compatible with the current c | 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | | 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | | 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | -| 8.0–8.17 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | +| 8.0–8.18 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ^1^ $$$footnote-1$$$ Supported with [archive indices](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). ^2^ $$$footnote-2$$$ Supported with [searchable snapshots](/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md). -You can’t restore an index to an earlier version of {{es}}. For example, you can’t restore an index created in 7.6.0 to a cluster running 7.5.0. +You can’t restore an index to an earlier version of {{es}}. For example, you can’t restore an index created in 8.18.0 to a cluster running 8.15.0. -A compatible snapshot can contain indices created in an older incompatible version. For example, a snapshot of a 7.17 cluster can contain an index created in 6.8. Restoring the 6.8 index to an 8.18 cluster fails unless you use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). To restore a 7.17 index to a 9.0 cluster, you can use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md) or [searchable snapshots](/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md). Keep this in mind if you take a snapshot before upgrading a cluster. +#### Restoring incompatible indices -As a workaround, you can first restore the index to another cluster running the latest version of {{es}} that’s compatible with both the index and your current cluster. You can then use [reindex-from-remote](https://www.elastic.co/guide/en/elasticsearch/reference/8.18/docs-reindex.html#reindex-from-remote) to rebuild the index on your current cluster. Reindex from remote is only possible if the index’s [`_source`](elasticsearch://reference/elasticsearch/mapping-reference/mapping-source-field.md) is enabled. +A compatible snapshot can contain indices created in an older incompatible version. To restore these incompatible indices, you must take additional steps. For example, a snapshot of a 7.17 cluster might contain an index created in 6.8. Restoring the 6.8 index to an 8.18 cluster fails unless you use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md). To restore a 7.17 index to a 9.0 cluster, you can use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md) or [searchable snapshots](/deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md). Keep this in mind if you take a snapshot before upgrading a cluster. + +To ensure index compatibility, you can first restore the index to another cluster running the latest version of {{es}} that’s compatible with both the index and your current cluster. You can then use [reindex-from-remote](https://www.elastic.co/guide/en/elasticsearch/reference/8.18/docs-reindex.html#reindex-from-remote) to rebuild the index on your current cluster. Reindex from remote is only possible if the index’s [`_source`](elasticsearch://reference/elasticsearch/mapping-reference/mapping-source-field.md) is enabled. Reindexing from remote can take significantly longer than restoring a snapshot. Before you start, test the reindex from remote process with a subset of the data to estimate your time requirements. From aa5d1e9b905a396e95f621acd15ebb5096d587d1 Mon Sep 17 00:00:00 2001 From: Vlada Chirmicci Date: Fri, 6 Jun 2025 09:44:47 +0100 Subject: [PATCH 4/4] Remove hyperlinks from footnotes These changes are part of the peer review suggestions as well. --- deploy-manage/tools/snapshot-and-restore.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deploy-manage/tools/snapshot-and-restore.md b/deploy-manage/tools/snapshot-and-restore.md index ec424109f2..c77ab1c5a8 100644 --- a/deploy-manage/tools/snapshot-and-restore.md +++ b/deploy-manage/tools/snapshot-and-restore.md @@ -145,11 +145,11 @@ Any index you restore from a snapshot must also be compatible with the current c | Index creation version | 6.8 | 7.0–7.1 | 7.2–7.17 | 8.0–8.2 | 8.3–8.18 | 9.0 | |------------------------|-----|---------|---------|---------|---------|-----| -| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | -| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | -| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ [^1^](#footnote-1) | ✅ [^1^](#footnote-1) | -| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | -| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ [^1^](#footnote-1) [^2^](#footnote-2) | +| 5.0–5.6 | ✅ | ❌ | ❌ | ❌ | ✅ ^1^ | ✅ ^1^ | +| 6.0–6.7 | ✅ | ✅ | ✅ | ❌ | ✅ ^1^ | ✅ ^1^ | +| 6.8 | ✅ | ❌ | ✅ | ❌ | ✅ ^1^ | ✅ ^1^ | +| 7.0–7.1 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ ^1, 2^ | +| 7.2–7.17 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ ^1, 2^ | | 8.0–8.18 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ^1^ $$$footnote-1$$$ Supported with [archive indices](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md).