Merge branch 'stable-3.10'
* stable-3.10:
ElasticContainer: remove unused private constant
ElasticContainer: suppress unclosed resource warning
Replace use of deprecated Changes#id(int) method
Suppress unused parameter warning
AbstractElasticIndex: remove redundant type arguments
Replace deprecated JsonParser constructor and parse method
Update testcontainers to latest release 1.20.2
Fix version check regexes and allow any 7.x and 8.x versions
Change-Id: I68a8afd371eb6d6df41d5bb5a586d511e477c059
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index ea71773..c32388c 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -8,19 +8,19 @@
)
# Ensure artifacts compatibility by selecting them from the Bill Of Materials
- # https://search.maven.org/artifact/org.testcontainers/testcontainers/1.19.7/pom
- TESTCONTAINERS_VERSION = "1.19.7"
+ # https://search.maven.org/artifact/org.testcontainers/testcontainers/1.20.2/pom
+ TESTCONTAINERS_VERSION = "1.20.2"
maven_jar(
name = "testcontainers",
artifact = "org.testcontainers:testcontainers:" + TESTCONTAINERS_VERSION,
- sha1 = "2dd7b1497fc444755582b0efc88636c4d299601f",
+ sha1 = "3b693fb878f88974ee07bd149fb0b75b0f2b5cf0",
)
maven_jar(
name = "testcontainers-elasticsearch",
artifact = "org.testcontainers:elasticsearch:" + TESTCONTAINERS_VERSION,
- sha1 = "8cd9f4ae67c9299143eb718541ff544b66273283",
+ sha1 = "e148d6ad75011012363388855f121fe6d6dae092",
)
maven_jar(
@@ -29,28 +29,28 @@
sha1 = "92edc22a9ab2f3e17c9bf700aaee377d50e8b530",
)
- DOCKER_JAVA_VERS = "3.3.6"
+ DOCKER_JAVA_VERS = "3.4.0"
maven_jar(
name = "docker-java-api",
artifact = "com.github.docker-java:docker-java-api:" + DOCKER_JAVA_VERS,
- sha1 = "8e152880bfe595c81a25501e21a6d7b1d4df97be",
+ sha1 = "9ef23dcc93693f15e69b64632be096c38e31bc44",
)
maven_jar(
name = "docker-java-transport",
artifact = "com.github.docker-java:docker-java-transport:" + DOCKER_JAVA_VERS,
- sha1 = "0d536d16a297f9139b833955390a3d581e336e67",
+ sha1 = "c058705684d782effc4b2edfdef1a87544ba4af8",
)
maven_jar(
name = "docker-java-transport-zerodep",
artifact = "com.github.docker-java:docker-java-transport-zerodep:" + DOCKER_JAVA_VERS,
- sha1 = "c9cde0239ce03376f6dfd0465bd461853af22196",
+ sha1 = "c4ce6d8695cfdb0027872f99cc20f8f679f8a969",
)
# Match version used in docker-java-transport
- # https://search.maven.org/artifact/com.github.docker-java/docker-java-transport/3.3.6/pom
+ # https://search.maven.org/artifact/com.github.docker-java/docker-java-transport/3.4.0/pom
maven_jar(
name = "jna",
artifact = "net.java.dev.jna:jna:5.13.0",
@@ -58,7 +58,7 @@
)
# Match jackson.version from docker-java
- # https://search.maven.org/artifact/com.github.docker-java/docker-java-parent/3.3.6/pom
+ # https://search.maven.org/artifact/com.github.docker-java/docker-java-parent/3.4.0/pom
maven_jar(
name = "jackson-annotations",
artifact = "com.fasterxml.jackson.core:jackson-annotations:2.10.3",
diff --git a/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java b/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
index 85ce166..dfa719c 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/AbstractElasticIndex.java
@@ -312,7 +312,7 @@
contentType.toString().equalsIgnoreCase(ContentType.APPLICATION_JSON.toString()),
String.format("Expected %s, but was: %s", ContentType.APPLICATION_JSON, contentType));
String responseStr = EntityUtils.toString(response.getEntity());
- JsonObject responseJson = (JsonObject) new JsonParser().parse(responseStr);
+ JsonObject responseJson = JsonParser.parseString(responseStr).getAsJsonObject();
boolean hasErrors = responseJson.get("errors").getAsBoolean();
if (hasErrors) {
logger.atSevere().log("Response with errors: %s", responseJson);
@@ -341,7 +341,7 @@
}
protected String getSearch(SearchSourceBuilder searchSource, JsonArray sortArray) {
- JsonObject search = new JsonParser().parse(searchSource.toString()).getAsJsonObject();
+ JsonObject search = JsonParser.parseString(searchSource.toString()).getAsJsonObject();
search.add("sort", sortArray);
return gson.toJson(search);
}
@@ -455,7 +455,7 @@
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
String content = getContent(response);
JsonObject obj =
- new JsonParser().parse(content).getAsJsonObject().getAsJsonObject("hits");
+ JsonParser.parseString(content).getAsJsonObject().getAsJsonObject("hits");
if (obj.get("hits") != null) {
JsonArray json = obj.getAsJsonArray("hits");
ImmutableList.Builder<T> results = ImmutableList.builderWithExpectedSize(json.size());
@@ -471,7 +471,7 @@
searchAfter = hit.getAsJsonArray("sort");
}
JsonArray finalSearchAfter = searchAfter;
- return new ListResultSet<T>(results.build()) {
+ return new ListResultSet<>(results.build()) {
@Override
public Object searchAfter() {
return finalSearchAfter;
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java
index 4217f45..9e670ee 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java
@@ -53,9 +53,9 @@
throw new IOException(message);
}
- return new JsonParser()
- .parse(AbstractElasticIndex.getContent(response)).getAsJsonObject().entrySet().stream()
- .map(e -> e.getKey().replace(name, ""))
- .collect(toList());
+ return JsonParser.parseString(AbstractElasticIndex.getContent(response)).getAsJsonObject()
+ .entrySet().stream()
+ .map(e -> e.getKey().replace(name, ""))
+ .collect(toList());
}
}
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
index 9caa14d..180d135 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
@@ -116,8 +116,7 @@
throw new FailedToGetVersion(statusLine);
}
String version =
- new JsonParser()
- .parse(AbstractElasticIndex.getContent(response))
+ JsonParser.parseString(AbstractElasticIndex.getContent(response))
.getAsJsonObject()
.get("version")
.getAsJsonObject()
@@ -163,5 +162,6 @@
}
}
- protected void configureHttpClientBuilder(HttpAsyncClientBuilder httpClientBuilder) {}
+ protected void configureHttpClientBuilder(
+ @SuppressWarnings("unused") HttpAsyncClientBuilder httpClientBuilder) {}
}
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
index 43cee5a..1427e05 100644
--- a/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
+++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
@@ -18,8 +18,8 @@
import java.util.regex.Pattern;
public enum ElasticVersion {
- V7_17("7.17.*"),
- V8_15("8.15.*");
+ V7("7\\.\\d+\\.\\d+.*"),
+ V8("8\\.\\d+\\.\\d+.*");
private final String version;
private final Pattern pattern;
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticAbstractQueryChangesTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticAbstractQueryChangesTest.java
index 8a0af62..3182325 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticAbstractQueryChangesTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticAbstractQueryChangesTest.java
@@ -90,11 +90,13 @@
Project.NameKey project = Project.nameKey("repo");
TestRepository<Repository> repo = createAndOpenProject(project);
Change c = insert(project, newChangeWithStatus(repo, Change.Status.NEW));
- gApi.changes().id(c.getChangeId()).index();
+ gApi.changes().id(c.getProject().get(), c.getChangeId()).index();
ElasticTestUtils.closeIndex(client, container, testName);
StorageException thrown =
- assertThrows(StorageException.class, () -> gApi.changes().id(c.getChangeId()).index());
+ assertThrows(
+ StorageException.class,
+ () -> gApi.changes().id(c.getProject().get(), c.getChangeId()).index());
assertThat(thrown).hasMessageThat().contains("Failed to reindex change");
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
index 68dca7f..36f91cc 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
@@ -27,9 +27,9 @@
/* Helper class for running ES integration tests in docker container */
public class ElasticContainer extends ElasticsearchContainer {
private static FluentLogger logger = FluentLogger.forEnclosingClass();
- private static final int ELASTICSEARCH_DEFAULT_PORT = 9200;
public static ElasticContainer createAndStart(ElasticVersion version) {
+ @SuppressWarnings("resource")
ElasticContainer container = new ElasticContainer(version);
try {
Path certs = Path.of("/usr/share/elasticsearch/config/certs");
@@ -89,9 +89,9 @@
private static DockerImageName getImageName(ElasticVersion version) {
DockerImageName image = DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch");
switch (version) {
- case V7_17:
+ case V7:
return image.withTag("7.17.24");
- case V8_15:
+ case V8:
return image.withTag("8.15.2");
}
throw new IllegalStateException("No tests for version: " + version.name());
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
index 5e35b11..eb16af5 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
@@ -19,6 +19,6 @@
public class ElasticV7QueryAccountsTest extends ElasticAbstractQueryAccountsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V7_17);
+ startIndexService(ElasticVersion.V7);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
index 3ce57a1..a319bfe 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
@@ -19,6 +19,6 @@
public class ElasticV7QueryChangesTest extends ElasticAbstractQueryChangesTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V7_17);
+ startIndexService(ElasticVersion.V7);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
index 54c2b12..fd77ea7 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
@@ -19,6 +19,6 @@
public class ElasticV7QueryGroupsTest extends ElasticAbstractQueryGroupsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V7_17);
+ startIndexService(ElasticVersion.V7);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java
index db9f1d0..dd2e8b0 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryProjectsTest.java
@@ -19,6 +19,6 @@
public class ElasticV7QueryProjectsTest extends ElasticAbstractQueryProjectsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V7_17);
+ startIndexService(ElasticVersion.V7);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryAccountsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryAccountsTest.java
index d3874b8..4ea1b06 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryAccountsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryAccountsTest.java
@@ -19,6 +19,6 @@
public class ElasticV8QueryAccountsTest extends ElasticAbstractQueryAccountsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V8_15);
+ startIndexService(ElasticVersion.V8);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryChangesTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryChangesTest.java
index 6f8d4b0..c4622fd 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryChangesTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryChangesTest.java
@@ -19,6 +19,6 @@
public class ElasticV8QueryChangesTest extends ElasticAbstractQueryChangesTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V8_15);
+ startIndexService(ElasticVersion.V8);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryGroupsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryGroupsTest.java
index a8dfc7e..e18e07a 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryGroupsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryGroupsTest.java
@@ -19,6 +19,6 @@
public class ElasticV8QueryGroupsTest extends ElasticAbstractQueryGroupsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V8_15);
+ startIndexService(ElasticVersion.V8);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryProjectsTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryProjectsTest.java
index 1a5e3c7..9277b4b 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryProjectsTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticV8QueryProjectsTest.java
@@ -19,6 +19,6 @@
public class ElasticV8QueryProjectsTest extends ElasticAbstractQueryProjectsTest {
@BeforeClass
public static void startIndexService() {
- startIndexService(ElasticVersion.V8_15);
+ startIndexService(ElasticVersion.V8);
}
}
diff --git a/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
index a0c0ba1..aa5fb72 100644
--- a/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
+++ b/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
@@ -22,12 +22,25 @@
public class ElasticVersionTest {
@Test
public void supportedVersion() throws Exception {
- assertThat(ElasticVersion.forVersion("7.17.0")).isEqualTo(ElasticVersion.V7_17);
- assertThat(ElasticVersion.forVersion("7.17.1")).isEqualTo(ElasticVersion.V7_17);
+ assertThat(ElasticVersion.forVersion("7.0.0-alpha1")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.0.0-beta1")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.0.0-rc2")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.0.10")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.16.0")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.16.1")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.17.0")).isEqualTo(ElasticVersion.V7);
+ assertThat(ElasticVersion.forVersion("7.17.1")).isEqualTo(ElasticVersion.V7);
- assertThat(ElasticVersion.forVersion("8.15.0")).isEqualTo(ElasticVersion.V8_15);
- assertThat(ElasticVersion.forVersion("8.15.1")).isEqualTo(ElasticVersion.V8_15);
- assertThat(ElasticVersion.forVersion("8.15.2")).isEqualTo(ElasticVersion.V8_15);
+ assertThat(ElasticVersion.forVersion("8.0.0-alpha1")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.0.0-beta1")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.0.0-rc2")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.0.10")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.9.0")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.9.1")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.9.2")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.15.0")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.15.1")).isEqualTo(ElasticVersion.V8);
+ assertThat(ElasticVersion.forVersion("8.15.2")).isEqualTo(ElasticVersion.V8);
}
@Test