From 75786ccdaef18955580988add5bdc30089f9f392 Mon Sep 17 00:00:00 2001 From: Andrei Stefan Date: Wed, 13 Jan 2021 15:20:52 +0200 Subject: [PATCH 1/2] Enable bwc tests and adjust versions. --- build.gradle | 4 ++-- .../backwards/SearchWithMinCompatibleSearchNodeIT.java | 2 +- .../main/java/org/elasticsearch/ElasticsearchException.java | 2 +- .../java/org/elasticsearch/action/search/SearchRequest.java | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 00eba65565ea7..c57e418a9bd4e 100644 --- a/build.gradle +++ b/build.gradle @@ -175,8 +175,8 @@ tasks.register("verifyVersions") { * after the backport of the backcompat code is complete. */ -boolean bwc_tests_enabled = false -String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/67414" /* place a PR link here when committing bwc changes */ +boolean bwc_tests_enabled = true +String bwc_tests_disabled_issue = "" /* place a PR link here when committing bwc changes */ /* * FIPS 140-2 behavior was fixed in 7.11.0. Before that there is no way to run elasticsearch in a * JVM that is properly configured to be in fips mode with BCFIPS. For now we need to disable diff --git a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java index ed94f4f187de7..5a13746dce43c 100644 --- a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java +++ b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java @@ -139,7 +139,7 @@ public void testCcsMinimizeRoundtripsIsFalse() throws Exception { } private void assertWithBwcVersionCheck(CheckedRunnable code, RestClient client, Request request) throws Exception { - if (bwcVersion.before(Version.V_8_0_0)) { + if (bwcVersion.before(Version.V_7_12_0)) { // min_compatible_shard_node support doesn't exist in older versions and there will be an "unrecognized parameter" exception ResponseException exception = expectThrows(ResponseException.class, () -> client.performRequest(request)); assertThat(exception.getResponse().getStatusLine().getStatusCode(), diff --git a/server/src/main/java/org/elasticsearch/ElasticsearchException.java b/server/src/main/java/org/elasticsearch/ElasticsearchException.java index 6f190e91603b2..4a7883b942e20 100644 --- a/server/src/main/java/org/elasticsearch/ElasticsearchException.java +++ b/server/src/main/java/org/elasticsearch/ElasticsearchException.java @@ -1052,7 +1052,7 @@ private enum ElasticsearchExceptionHandle { org.elasticsearch.action.search.VersionMismatchException.class, org.elasticsearch.action.search.VersionMismatchException::new, 161, - Version.V_8_0_0); + Version.V_7_12_0); final Class exceptionClass; final CheckedFunction constructor; diff --git a/server/src/main/java/org/elasticsearch/action/search/SearchRequest.java b/server/src/main/java/org/elasticsearch/action/search/SearchRequest.java index 0f47074cc7362..e81c927f46ac2 100644 --- a/server/src/main/java/org/elasticsearch/action/search/SearchRequest.java +++ b/server/src/main/java/org/elasticsearch/action/search/SearchRequest.java @@ -231,7 +231,7 @@ public SearchRequest(StreamInput in) throws IOException { finalReduce = true; } ccsMinimizeRoundtrips = in.readBoolean(); - if (in.getVersion().onOrAfter(Version.V_8_0_0)) { + if (in.getVersion().onOrAfter(Version.V_7_12_0)) { if (in.readBoolean()) { minCompatibleShardNode = Version.readVersion(in); } @@ -263,7 +263,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeBoolean(finalReduce); } out.writeBoolean(ccsMinimizeRoundtrips); - if (out.getVersion().onOrAfter(Version.V_8_0_0)) { + if (out.getVersion().onOrAfter(Version.V_7_12_0)) { out.writeBoolean(minCompatibleShardNode != null); if (minCompatibleShardNode != null) { Version.writeVersion(minCompatibleShardNode, out); From 2d8e4b9abc5cd69fc86261d3f8029494dd635662 Mon Sep 17 00:00:00 2001 From: Andrei Stefan Date: Wed, 13 Jan 2021 16:04:55 +0200 Subject: [PATCH 2/2] Bug fix --- .../backwards/SearchWithMinCompatibleSearchNodeIT.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java index 5a13746dce43c..cecd27cab8123 100644 --- a/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java +++ b/qa/mixed-cluster/src/test/java/org/elasticsearch/backwards/SearchWithMinCompatibleSearchNodeIT.java @@ -120,10 +120,9 @@ public void testCcsMinimizeRoundtripsIsFalse() throws Exception { try (RestClient client = buildClient(restClientSettings(), allNodes.stream().map(Node::getPublishAddress).toArray(HttpHost[]::new))) { Version version = randomBoolean() ? newVersion : bwcVersion; - boolean shouldSetCcsMinimizeRoundtrips = randomBoolean(); - Request request = new Request("POST", index + "/_search?min_compatible_shard_node=" + version + - (shouldSetCcsMinimizeRoundtrips ? "&ccs_minimize_roundtrips=true" : "")); + Request request = new Request("POST", index + "/_search?min_compatible_shard_node=" + version + + "&ccs_minimize_roundtrips=true"); assertBusy(() -> { assertWithBwcVersionCheck(() -> { ResponseException responseException = expectThrows(ResponseException.class, () -> client.performRequest(request));