From 0e9d9f3ae7a32c36799bafd5e4212debae9b08e6 Mon Sep 17 00:00:00 2001 From: Marco Miller Date: Fri, 4 Sep 2020 16:36:37 -0400 Subject: Align http dependencies with elasticsearch-rest-client Address the upstream issue [1] which is caused by the lack of upgrades done in this change. While waiting for Elastic to potentially provide shaded dependencies [1,2] for these, upgrade them herein still for now. Meaning, do not consider trying [2] this time around either. Favor the upgrade approach which is still simpler and likelier to succeed today. Base these new versions on [3]'s dependencies, even though the issue ([1]) didn't fail the build as such for version 7.8.1 of the client. This issue's fix starts becoming necessary from client versions 7.9.x, as shown by the follow-up upgrade change to 7.9.0 which requires this. The most downstream branch of gerrit to include this change determines from which Gerrit version the Elasticsearch versions 7.9.x can be supported. Set HTTPCOMP_VERS to the earlier 4.5.2, to comply with Google's currently deployed internal version. [1] https://github.com/elastic/elasticsearch/issues/61664 [2] https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-low-usage-shading.html [3] https://search.maven.org/artifact/org.elasticsearch.client/elasticsearch-rest-client/7.8.1/jar Change-Id: I1fc91bce95d9e8094c19ad4044bd08b6285524af --- WORKSPACE | 18 +++++++++++------- tools/nongoogle.bzl | 3 ++- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 9413b1668e..0f2733bc26 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -795,26 +795,30 @@ maven_jar( sha1 = "fd369423346b2f1525c413e33f8cf95b09c92cbd", ) -# Note that all of the following org.apache.httpcomponents have newer versions, -# but 4.4.1 is the only version that is available for all of them. -HTTPCOMP_VERS = "4.4.1" +# Base the following org.apache.httpcomponents versions on what +# elasticsearch-rest-client explicitly depends on, except for +# commons-codec (non-http) which is not necessary yet. Note that +# below httpcore version(s) differs from the HTTPCOMP_VERS range, +# upstream: that specific dependency has no HTTPCOMP_VERS version +# equivalent currently. +HTTPCOMP_VERS = "4.5.2" maven_jar( name = "fluent-hc", artifact = "org.apache.httpcomponents:fluent-hc:" + HTTPCOMP_VERS, - sha1 = "96fb842b68a44cc640c661186828b60590c71261", + sha1 = "7bfdfa49de6d720ad3c8cedb6a5238eec564dfed", ) maven_jar( name = "httpclient", artifact = "org.apache.httpcomponents:httpclient:" + HTTPCOMP_VERS, - sha1 = "016d0bc512222f1253ee6b64d389c84e22f697f0", + sha1 = "733db77aa8d9b2d68015189df76ab06304406e50", ) maven_jar( name = "httpcore", - artifact = "org.apache.httpcomponents:httpcore:" + HTTPCOMP_VERS, - sha1 = "f5aa318bda4c6c8d688c9d00b90681dcd82ce636", + artifact = "org.apache.httpcomponents:httpcore:4.4.12", + sha1 = "21ebaf6d532bc350ba95bd81938fa5f0e511c132", ) # Test-only dependencies below. diff --git a/tools/nongoogle.bzl b/tools/nongoogle.bzl index 19d4f54724..5165e09483 100644 --- a/tools/nongoogle.bzl +++ b/tools/nongoogle.bzl @@ -99,7 +99,8 @@ def declare_nongoogle_deps(): ) # When upgrading elasticsearch-rest-client, also upgrade httpcore-nio - # and httpasyncclient as necessary. + # and httpasyncclient as necessary. Consider also the other + # org.apache.httpcomponents dependencies in ../WORKSPACE. maven_jar( name = "elasticsearch-rest-client", artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.8.1", -- cgit v1.2.3 From df16e3f0ff562c0038b4f9df02571f9e24bce230 Mon Sep 17 00:00:00 2001 From: Marco Miller Date: Tue, 25 Aug 2020 15:42:35 -0400 Subject: Add support for Elasticsearch version 7.9.* Upgrade elasticsearch-rest-client to 7.9.3, which is the currently latest 7.9 minor version available. Add V7_9 to the version manager and use it for all the V7 tests. Change-Id: I7d76ece60d3ed7400bcf28bcd45d0e2e02870ccd --- java/com/google/gerrit/elasticsearch/ElasticVersion.java | 3 ++- javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java | 2 +- javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java | 2 +- javatests/com/google/gerrit/elasticsearch/ElasticContainer.java | 2 ++ .../com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java | 2 +- javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java | 3 +++ tools/nongoogle.bzl | 4 ++-- 10 files changed, 15 insertions(+), 9 deletions(-) diff --git a/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/java/com/google/gerrit/elasticsearch/ElasticVersion.java index bba1577147..ba5f1fed63 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticVersion.java +++ b/java/com/google/gerrit/elasticsearch/ElasticVersion.java @@ -24,7 +24,8 @@ public enum ElasticVersion { V7_5("7.5.*"), V7_6("7.6.*"), V7_7("7.7.*"), - V7_8("7.8.*"); + V7_8("7.8.*"), + V7_9("7.9.*"); private final String version; private final Pattern pattern; diff --git a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java index f23cc10cb8..98f4f859da 100644 --- a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java +++ b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java @@ -26,7 +26,7 @@ public class ElasticReindexIT extends AbstractReindexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_8); + return getConfig(ElasticVersion.V7_9); } @Override diff --git a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java index f35bcb79eb..313160df18 100644 --- a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java +++ b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java @@ -28,7 +28,7 @@ public class ElasticIndexIT extends AbstractIndexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_8); + return getConfig(ElasticVersion.V7_9); } @Override diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java index e8cf3e90ea..b0da80d388 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java @@ -53,6 +53,8 @@ public class ElasticContainer extends ElasticsearchContainer { return "blacktop/elasticsearch:7.7.1"; case V7_8: return "blacktop/elasticsearch:7.8.1"; + case V7_9: + return "blacktop/elasticsearch:7.9.3"; } throw new IllegalStateException("No tests for version: " + version.name()); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java index 48264906d4..89391c5582 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryAccountsTest extends AbstractQueryAccountsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_9); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java index d9a4d2ebc2..01bc902a0c 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java @@ -46,7 +46,7 @@ public class ElasticV7QueryChangesTest extends AbstractQueryChangesTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_9); client = HttpAsyncClients.createDefault(); client.start(); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java index 0fc96f8388..472ac89da6 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryGroupsTest extends AbstractQueryGroupsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_9); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java index 1e56af9556..d2149e979e 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryProjectsTest extends AbstractQueryProjectsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_8); + container = ElasticContainer.createAndStart(ElasticVersion.V7_9); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java index 1ec8a5dadd..0ca57a5961 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java @@ -42,6 +42,9 @@ public class ElasticVersionTest { assertThat(ElasticVersion.forVersion("7.8.0")).isEqualTo(ElasticVersion.V7_8); assertThat(ElasticVersion.forVersion("7.8.1")).isEqualTo(ElasticVersion.V7_8); + + assertThat(ElasticVersion.forVersion("7.9.0")).isEqualTo(ElasticVersion.V7_9); + assertThat(ElasticVersion.forVersion("7.9.1")).isEqualTo(ElasticVersion.V7_9); } @Test diff --git a/tools/nongoogle.bzl b/tools/nongoogle.bzl index 5165e09483..6c1a853510 100644 --- a/tools/nongoogle.bzl +++ b/tools/nongoogle.bzl @@ -103,8 +103,8 @@ def declare_nongoogle_deps(): # org.apache.httpcomponents dependencies in ../WORKSPACE. maven_jar( name = "elasticsearch-rest-client", - artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.8.1", - sha1 = "59feefe006a96a39f83b0dfb6780847e06c1d0a8", + artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.9.3", + sha1 = "0b621621ecc6a8d9b536334d5f3301940302efd2", ) maven_jar( -- cgit v1.2.3 From aa4789722e55184b2ea86fb6d2ca3c603a58b235 Mon Sep 17 00:00:00 2001 From: Marco Miller Date: Mon, 7 Dec 2020 15:57:38 -0500 Subject: Add support for Elasticsearch version 7.10.* Upgrade elasticsearch-rest-client to 7.10.1. Add V7_10 to the version manager and use it for all the V7 tests. Change-Id: Ifb941eea63b90e107ae37c6a08ab1815d6c0f22b --- java/com/google/gerrit/elasticsearch/ElasticVersion.java | 3 ++- javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java | 2 +- javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java | 2 +- javatests/com/google/gerrit/elasticsearch/ElasticContainer.java | 2 ++ .../com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java | 2 +- .../com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java | 2 +- javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java | 3 +++ tools/nongoogle.bzl | 4 ++-- 10 files changed, 15 insertions(+), 9 deletions(-) diff --git a/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/java/com/google/gerrit/elasticsearch/ElasticVersion.java index ba5f1fed63..c9323b2ec5 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticVersion.java +++ b/java/com/google/gerrit/elasticsearch/ElasticVersion.java @@ -25,7 +25,8 @@ public enum ElasticVersion { V7_6("7.6.*"), V7_7("7.7.*"), V7_8("7.8.*"), - V7_9("7.9.*"); + V7_9("7.9.*"), + V7_10("7.10.*"); private final String version; private final Pattern pattern; diff --git a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java index 98f4f859da..27b4527424 100644 --- a/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java +++ b/javatests/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java @@ -26,7 +26,7 @@ public class ElasticReindexIT extends AbstractReindexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_9); + return getConfig(ElasticVersion.V7_10); } @Override diff --git a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java index 313160df18..36e564cb67 100644 --- a/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java +++ b/javatests/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java @@ -28,7 +28,7 @@ public class ElasticIndexIT extends AbstractIndexTests { @ConfigSuite.Default public static Config elasticsearchV7() { - return getConfig(ElasticVersion.V7_9); + return getConfig(ElasticVersion.V7_10); } @Override diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java index b0da80d388..96e728a409 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticContainer.java @@ -55,6 +55,8 @@ public class ElasticContainer extends ElasticsearchContainer { return "blacktop/elasticsearch:7.8.1"; case V7_9: return "blacktop/elasticsearch:7.9.3"; + case V7_10: + return "blacktop/elasticsearch:7.10.1"; } throw new IllegalStateException("No tests for version: " + version.name()); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java index 89391c5582..ca614460e3 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryAccountsTest extends AbstractQueryAccountsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_9); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java index 01bc902a0c..c0f40a9362 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java @@ -46,7 +46,7 @@ public class ElasticV7QueryChangesTest extends AbstractQueryChangesTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_9); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); client = HttpAsyncClients.createDefault(); client.start(); } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java index 472ac89da6..46fb6f0862 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryGroupsTest extends AbstractQueryGroupsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_9); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java index d2149e979e..ef2b644821 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java @@ -36,7 +36,7 @@ public class ElasticV7QueryProjectsTest extends AbstractQueryProjectsTest { public static void startIndexService() { if (container == null) { // Only start Elasticsearch once - container = ElasticContainer.createAndStart(ElasticVersion.V7_9); + container = ElasticContainer.createAndStart(ElasticVersion.V7_10); } } diff --git a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java index 0ca57a5961..85e8e9eb1c 100644 --- a/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java +++ b/javatests/com/google/gerrit/elasticsearch/ElasticVersionTest.java @@ -45,6 +45,9 @@ public class ElasticVersionTest { assertThat(ElasticVersion.forVersion("7.9.0")).isEqualTo(ElasticVersion.V7_9); assertThat(ElasticVersion.forVersion("7.9.1")).isEqualTo(ElasticVersion.V7_9); + + assertThat(ElasticVersion.forVersion("7.10.0")).isEqualTo(ElasticVersion.V7_10); + assertThat(ElasticVersion.forVersion("7.10.1")).isEqualTo(ElasticVersion.V7_10); } @Test diff --git a/tools/nongoogle.bzl b/tools/nongoogle.bzl index 6c1a853510..410f479d72 100644 --- a/tools/nongoogle.bzl +++ b/tools/nongoogle.bzl @@ -103,8 +103,8 @@ def declare_nongoogle_deps(): # org.apache.httpcomponents dependencies in ../WORKSPACE. maven_jar( name = "elasticsearch-rest-client", - artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.9.3", - sha1 = "0b621621ecc6a8d9b536334d5f3301940302efd2", + artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.10.1", + sha1 = "b2e89d266c2c0039a69504f78c9230582ea095ee", ) maven_jar( -- cgit v1.2.3