فهرست منبع

[DOCS] Document 8.0 BWC support for CCS (#80809)

As of 8.0, the compatibility window for cross-cluster search (CCS) to an earlier release will be one minor release. This updates the CCS docs and adds a related 8.0 breaking change.

Closes https://github.com/elastic/elasticsearch/issues/80782
James Rodewig 3 سال پیش
والد
کامیت
dfb9f6f18d

+ 40 - 0
docs/reference/migration/migrate_8_0/rest-api-changes.asciidoc

@@ -163,6 +163,46 @@ Update your application to use typeless REST API endpoints. Requests to
 endpoints that contain a mapping type will return an error.
 ====
 
+.{ccs-cap} ({ccs-init}) is now only backward-compatible with the previous minor version.
+[%collapsible]
+====
+*Details* +
+Elastic only supports searches from a local cluster to a remote cluster running:
+
+* The previous minor version.
+* The same version.
+* A newer version. This version must also be compatible with the local cluster
+as outlined in the
+{ref}/modules-cross-cluster-search.html#ccs-version-compatibility[compatibility
+matrix].
+
+IMPORTANT: For the <<eql-search-api,EQL search API>>, the local and remote
+clusters must use the same {es} version.
+
+For example, a local 8.0 cluster can search a remote 7.7, 8.0, or
+8.1 cluster. However, a search from a local 8.0 cluster to a remote 7.16 or 6.8
+cluster is not supported.
+
+Previously, we also supported searches on remote clusters running:
+
+* Any minor version of the local cluster's major version.
+* The last minor release of the previous major version.
+
+However, such searches can result in undefined behavior, particularly if the
+search uses a recent feature that's unsupported in the remote cluster.
+
+*Impact* +
+If you only run cross-cluster searches on remote clusters using the same or a
+newer version, no changes are needed.
+
+If you previously searched remote clusters running an earlier version of {es},
+see {ref}/modules-cross-cluster-search.html#ensure-ccs-support[Ensure {ccs}
+support] for recommended solutions.
+
+A {ccs} using an unsupported configuration may still work. However, such
+searches aren't tested by Elastic, and their behavior isn't guaranteed.
+====
+
 [[remove-term-order-key]]
 .The `terms` aggregation no longer supports the `_term` order key.
 [%collapsible]

+ 6 - 0
docs/reference/modules/remote-clusters.asciidoc

@@ -68,6 +68,9 @@ local and remote nodes.
 include::remote-clusters-shared.asciidoc[tag=remote-cluster-compatibility-matrix]
 ====
 
+IMPORTANT: Elastic only supports {ccs} on a subset of these configurations. See
+<<ccs-supported-configurations>>.
+
 * *role*: By default, any non-<<master-node,master-eligible>> node can act as a
 gateway node. Dedicated master nodes are never selected as gateway nodes.
 
@@ -98,6 +101,9 @@ Proxy mode has the same version compatibility requirements as sniff mode.
 include::remote-clusters-shared.asciidoc[tag=remote-cluster-compatibility-matrix]
 ====
 
+IMPORTANT: Elastic only supports {ccs} on a subset of these configurations. See
+<<ccs-supported-configurations>>.
+
 include::cluster/remote-clusters-security.asciidoc[]
 include::cluster/remote-clusters-connect.asciidoc[]
 include::../../../x-pack/docs/en/security/authentication/remote-clusters-privileges.asciidoc[]

+ 44 - 15
docs/reference/search/search-your-data/search-across-clusters.asciidoc

@@ -415,27 +415,56 @@ image:images/ccs/ccs-min-roundtrip-client-response.svg[]
 
 [discrete]
 [[ccs-supported-configurations]]
-=== Supported configurations
+=== Supported {ccs} configurations
 
-Generally, <<gateway-nodes-selection,cross-cluster search>> can search remote
-clusters that are one major version ahead or behind the coordinating node's
-version.
+Elastic only supports searches from a local cluster to a remote cluster running:
+
+* The previous minor version.
+* The same version.
+* A newer version. This version must also be compatible with the local cluster
+as outlined in the following matrix.
++
+[%collapsible]
+[[ccs-version-compatibility]]
+.Version compatibility matrix
+====
+include::{es-repo-dir}/modules/remote-clusters-shared.asciidoc[tag=remote-cluster-compatibility-matrix]
+====
 
 IMPORTANT: For the <<eql-search-api,EQL search API>>, the local and remote
 clusters must use the same {es} version.
 
-Cross-cluster search can also search remote clusters that are being
-<<rolling-upgrades, upgraded>> so long as both the "upgrade from" and
-"upgrade to" version are compatible with the gateway node.
+For example, a local 8.0 cluster can search a remote 7.17, 8.0, or 8.1 cluster.
+However, a search from a local 8.0 cluster to a remote 7.16 or 6.8 cluster is
+not supported.
 
-For example, a coordinating node running {es} 5.6 can search a remote cluster
-running {es} 6.8, but that cluster can not be upgraded to 7.1. In this case
-you should first upgrade the coordinating node to 7.1 and then upgrade remote
-cluster.
+A {ccs} using an unsupported configuration may still work. However, such
+searches aren't tested by Elastic, and their behavior isn't guaranteed.
+
+[discrete]
+[[ensure-ccs-support]]
+==== Ensure {ccs} support
+
+The simplest way to ensure your clusters support {ccs} is to keep each cluster
+on the same version of {es}. If you need to maintain clusters with different
+versions, you can:
+
+* Maintain a dedicated cluster for {ccs}. Keep this cluster on the earliest
+version needed to search the other clusters. For example, if you have 6.8, 7.14,
+and 7.17 clusters, you can maintain a dedicated 6.8 cluster to use as the local
+cluster for {ccs}.
+
+* Keep each cluster no more than one minor version apart. This lets you use any
+cluster as the local cluster when running a {ccs}.
+
+[discrete]
+[[ccs-during-upgrade]]
+==== {ccs-cap} during an upgrade
+
+You can still search a remote cluster while performing a
+<<rolling-upgrades,rolling upgrade>> on the local cluster. However, the local
+coordinating node's "upgrade from" and "upgrade to" version must be compatible
+with the remote cluster's gateway node.
 
 WARNING: Running multiple versions of {es} in the same cluster beyond the
 duration of an upgrade is not supported.
-
-Only features that exist across all searched clusters are supported. Using
-a recent feature with a remote cluster where the feature is not supported
-will result in undefined behavior.