Skip to content

Commit 549e7a9

Browse files
EQL: limit CCS to v 7.15 (#91834)
1 parent d16fd6f commit 549e7a9

File tree

6 files changed

+19
-7
lines changed

6 files changed

+19
-7
lines changed

docs/changelog/91834.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 91834
2+
summary: Limit CCS to v 7.15
3+
area: EQL
4+
type: bug
5+
issues:
6+
- 91762

docs/reference/eql/eql-search-api.asciidoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ or alias.
4747

4848
* See <<eql-required-fields>>.
4949

50-
* experimental:[] For cross-cluster search, the local and remote clusters must
51-
use the same {es} version. For security, see <<remote-clusters-security>>.
50+
* experimental:[] For cross-cluster search, the local and remote clusters must use the same {es} version.
51+
Local clusters version 7.17.7 or later also support cross-cluster search to remote clusters version 7.15.0 or later.
52+
For security, see <<remote-clusters-security>>.
5253

5354
[[eql-search-api-limitations]]
5455
===== Limitations

docs/reference/eql/eql.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,8 @@ experimental::[]
800800
The EQL search API supports <<modules-cross-cluster-search,cross-cluster
801801
search>>. However, the local and <<remote-clusters,remote clusters>>
802802
must use the same {es} version.
803+
Local clusters version 7.17.7 or later also support <<modules-cross-cluster-search,cross-cluster
804+
search>> to <<remote-clusters,remote clusters>> version 7.15.0 or later.
803805

804806
The following <<cluster-update-settings,cluster update settings>> request
805807
adds two remote clusters: `cluster_one` and `cluster_two`.

docs/reference/search/search-your-data/search-across-clusters.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,8 @@ in the following matrix.
439439

440440
IMPORTANT: For the <<eql-search-api,EQL search API>>, the local and remote
441441
clusters must use the same {es} version.
442+
Local clusters version 7.17.7 or later also support cross-cluster search to
443+
<<remote-clusters,remote clusters>> version 7.15.0 or later.
442444

443445
[%collapsible%open]
444446
.Version compatibility matrix

x-pack/plugin/eql/qa/ccs-rolling-upgrade/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
*/
88

99

10-
import org.elasticsearch.gradle.Version
1110
import org.elasticsearch.gradle.internal.info.BuildParams
1211
import org.elasticsearch.gradle.testclusters.StandaloneRestIntegTestTask
1312

@@ -20,8 +19,8 @@ dependencies {
2019
testImplementation project(':client:rest-high-level')
2120
}
2221

23-
// EQL was released as GA in v 7.11.0
24-
BuildParams.bwcVersions.withWireCompatiple(v -> v.onOrAfter("7.11.0")) { bwcVersion, baseName ->
22+
// see org.elasticsearch.xpack.eql.util.RemoteClusterRegistry.FIRST_COMPATIBLE_VERSION
23+
BuildParams.bwcVersions.withWireCompatiple(v -> v.onOrAfter("7.15.0")) { bwcVersion, baseName ->
2524

2625
/**
2726
* We execute tests 3 times.

x-pack/plugin/eql/src/main/java/org/elasticsearch/xpack/eql/util/RemoteClusterRegistry.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.elasticsearch.common.Strings;
1515
import org.elasticsearch.transport.RemoteClusterAware;
1616
import org.elasticsearch.transport.RemoteClusterService;
17+
import org.elasticsearch.xpack.eql.execution.search.RuntimeUtils;
1718

1819
import java.util.Set;
1920
import java.util.TreeSet;
@@ -25,6 +26,8 @@ public class RemoteClusterRegistry {
2526
private final IndexNameExpressionResolver indexNameExpressionResolver;
2627
private final ClusterService clusterService;
2728

29+
public static final Version FIRST_COMPATIBLE_VERSION = RuntimeUtils.SWITCH_TO_MULTI_VALUE_FIELDS_VERSION;
30+
2831
public RemoteClusterRegistry(
2932
RemoteClusterService remoteClusterService,
3033
IndicesOptions indicesOptions,
@@ -41,8 +44,7 @@ public Set<String> versionIncompatibleClusters(String indexPattern) {
4144
Set<String> incompatibleClusters = new TreeSet<>();
4245
for (String clusterAlias : clusterAliases(Strings.splitStringByCommaToArray(indexPattern), true)) {
4346
Version clusterVersion = remoteClusterService.getConnection(clusterAlias).getVersion();
44-
// EQL was released as GA in v 7.11.0
45-
if (Version.CURRENT.isCompatible(clusterVersion) == false || clusterVersion.before(Version.V_7_11_0)) {
47+
if (Version.CURRENT.isCompatible(clusterVersion) == false || clusterVersion.before(FIRST_COMPATIBLE_VERSION)) {
4648
incompatibleClusters.add(clusterAlias);
4749
}
4850
}

0 commit comments

Comments
 (0)