diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java index e8b1dbea59..954740ace2 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java @@ -48,10 +48,15 @@ public class ElasticReindexIT extends AbstractReindexTests { } @ConfigSuite.Config - public static Config elasticsearchV6() { + public static Config elasticsearchV6_2() { return getConfig(ElasticVersion.V6_2); } + @ConfigSuite.Config + public static Config elasticsearchV6_3() { + return getConfig(ElasticVersion.V6_3); + } + @Override public void configureIndex(Injector injector) throws Exception { ElasticTestUtils.createAllIndexes(injector); diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java index c0f9c345b4..f2b7d91e67 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java @@ -47,10 +47,15 @@ public class ElasticIndexIT extends AbstractIndexTests { } @ConfigSuite.Config - public static Config elasticsearchV6() { + public static Config elasticsearchV6_2() { return getConfig(ElasticVersion.V6_2); } + @ConfigSuite.Config + public static Config elasticsearchV6_3() { + return getConfig(ElasticVersion.V6_3); + } + @Override public void configureIndex(Injector injector) throws Exception { ElasticTestUtils.createAllIndexes(injector); diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java index eeab7b8db5..6d805525c2 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticQueryAdapter.java @@ -31,13 +31,13 @@ public class ElasticQueryAdapter { ElasticQueryAdapter(ElasticVersion version) { this.ignoreUnmapped = version == ElasticVersion.V2_4; - this.usePostV5Type = version == ElasticVersion.V6_2; - - this.versionDiscoveryUrl = version == ElasticVersion.V6_2 ? "%s*" : "%s*/_aliases"; + this.usePostV5Type = isV6(version); + this.versionDiscoveryUrl = isV6(version) ? "%s*" : "%s*/_aliases"; switch (version) { case V5_6: case V6_2: + case V6_3: this.searchFilteringName = "_source"; this.indicesExistParam = "?allow_no_indices=false"; this.exactFieldType = "keyword"; @@ -55,6 +55,10 @@ public class ElasticQueryAdapter { } } + private boolean isV6(ElasticVersion version) { + return version == ElasticVersion.V6_2 || version == ElasticVersion.V6_3; + } + void setIgnoreUnmapped(JsonObject properties) { if (ignoreUnmapped) { properties.addProperty("ignore_unmapped", true); diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java index b65eb317f1..610a2125b5 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java @@ -20,7 +20,8 @@ import java.util.regex.Pattern; public enum ElasticVersion { V2_4("2.4.*"), V5_6("5.6.*"), - V6_2("6.2.*"); + V6_2("6.2.*"), + V6_3("6.3.*"); private final String version; private final Pattern pattern; diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/testing/ElasticContainer.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/testing/ElasticContainer.java index 132d07470f..4678d3a9f5 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/testing/ElasticContainer.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/testing/ElasticContainer.java @@ -49,6 +49,8 @@ public class ElasticContainer> extends Gener return "elasticsearch:5.6.10-alpine"; case V6_2: return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4"; + case V6_3: + return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.0"; } throw new IllegalStateException("No tests for version: " + version.name()); } diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryAccountsTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryAccountsTest.java index f973e36755..1278fcb2c2 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryAccountsTest.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryAccountsTest.java @@ -36,7 +36,7 @@ public class ElasticV6QueryAccountsTest extends AbstractQueryAccountsTest { return; } - container = ElasticContainer.createAndStart(ElasticVersion.V6_2); + container = ElasticContainer.createAndStart(ElasticVersion.V6_3); nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort()); } diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryChangesTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryChangesTest.java index 5e0fd7e003..a36d2e6cde 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryChangesTest.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryChangesTest.java @@ -37,7 +37,7 @@ public class ElasticV6QueryChangesTest extends AbstractQueryChangesTest { return; } - container = ElasticContainer.createAndStart(ElasticVersion.V6_2); + container = ElasticContainer.createAndStart(ElasticVersion.V6_3); nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort()); } diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryGroupsTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryGroupsTest.java index abb715ca7b..b09a44cb20 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryGroupsTest.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV6QueryGroupsTest.java @@ -36,7 +36,7 @@ public class ElasticV6QueryGroupsTest extends AbstractQueryGroupsTest { return; } - container = ElasticContainer.createAndStart(ElasticVersion.V6_2); + container = ElasticContainer.createAndStart(ElasticVersion.V6_3); nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort()); } diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java index b7919cebfb..860dca6b24 100644 --- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java +++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java @@ -34,6 +34,9 @@ public class ElasticVersionTest { assertThat(ElasticVersion.forVersion("6.2.0")).isEqualTo(ElasticVersion.V6_2); assertThat(ElasticVersion.forVersion("6.2.4")).isEqualTo(ElasticVersion.V6_2); + + assertThat(ElasticVersion.forVersion("6.3.0")).isEqualTo(ElasticVersion.V6_3); + assertThat(ElasticVersion.forVersion("6.3.1")).isEqualTo(ElasticVersion.V6_3); } @Test