Merge branch 'stable-2.15' into stable-2.16
* stable-2.15: ElasticContainer: Use version 7.0.0-rc1 for V7_0 tests ElasticContainer: Use version 5.6.16 for V5_6 tests Add support for Elasticsearch 6.7.0 Change-Id: I267fcfa797f3428a3af144b31089710bb736a931
This commit is contained in:
@@ -3049,14 +3049,6 @@ Note that the site initialization program only allows to configure a single
|
||||
server. To configure multiple servers the `gerrit.config` file must be edited
|
||||
manually.
|
||||
|
||||
[[elasticsearch.maxRetryTimeout]]elasticsearch.maxRetryTimeout::
|
||||
+
|
||||
Sets the maximum timeout to honor in case of multiple retries of the same request.
|
||||
+
|
||||
The value is in the usual time-unit format like `1 m`, `5 m`.
|
||||
+
|
||||
Defaults to `30000 ms`.
|
||||
|
||||
[[elasticsearch.numberOfShards]]elasticsearch.numberOfShards::
|
||||
+
|
||||
Sets the number of shards to use per index. Refer to the
|
||||
|
||||
@@ -1091,8 +1091,8 @@ maven_jar(
|
||||
# and httpasyncclient as necessary.
|
||||
maven_jar(
|
||||
name = "elasticsearch-rest-client",
|
||||
artifact = "org.elasticsearch.client:elasticsearch-rest-client:6.6.2",
|
||||
sha1 = "2c429141e488091c358aa43b1e6873d457464c5d",
|
||||
artifact = "org.elasticsearch.client:elasticsearch-rest-client:6.7.0",
|
||||
sha1 = "032bf7044d1d5664ebdbfd6f2601027c806565ce",
|
||||
)
|
||||
|
||||
JACKSON_VERSION = "2.9.8"
|
||||
|
||||
@@ -26,7 +26,6 @@ import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
|
||||
@@ -37,24 +36,20 @@ class ElasticConfiguration {
|
||||
static final String SECTION_ELASTICSEARCH = "elasticsearch";
|
||||
static final String KEY_PASSWORD = "password";
|
||||
static final String KEY_USERNAME = "username";
|
||||
static final String KEY_MAX_RETRY_TIMEOUT = "maxRetryTimeout";
|
||||
static final String KEY_PREFIX = "prefix";
|
||||
static final String KEY_SERVER = "server";
|
||||
static final String KEY_NUMBER_OF_SHARDS = "numberOfShards";
|
||||
static final String KEY_NUMBER_OF_REPLICAS = "numberOfReplicas";
|
||||
static final String DEFAULT_PORT = "9200";
|
||||
static final String DEFAULT_USERNAME = "elastic";
|
||||
static final int DEFAULT_MAX_RETRY_TIMEOUT_MS = 30000;
|
||||
static final int DEFAULT_NUMBER_OF_SHARDS = 5;
|
||||
static final int DEFAULT_NUMBER_OF_REPLICAS = 1;
|
||||
static final TimeUnit MAX_RETRY_TIMEOUT_UNIT = TimeUnit.MILLISECONDS;
|
||||
|
||||
private final Config cfg;
|
||||
private final List<HttpHost> hosts;
|
||||
|
||||
final String username;
|
||||
final String password;
|
||||
final int maxRetryTimeout;
|
||||
final int numberOfShards;
|
||||
final int numberOfReplicas;
|
||||
final String prefix;
|
||||
@@ -68,14 +63,6 @@ class ElasticConfiguration {
|
||||
? null
|
||||
: firstNonNull(
|
||||
cfg.getString(SECTION_ELASTICSEARCH, null, KEY_USERNAME), DEFAULT_USERNAME);
|
||||
this.maxRetryTimeout =
|
||||
(int)
|
||||
cfg.getTimeUnit(
|
||||
SECTION_ELASTICSEARCH,
|
||||
null,
|
||||
KEY_MAX_RETRY_TIMEOUT,
|
||||
DEFAULT_MAX_RETRY_TIMEOUT_MS,
|
||||
MAX_RETRY_TIMEOUT_UNIT);
|
||||
this.prefix = Strings.nullToEmpty(cfg.getString(SECTION_ELASTICSEARCH, null, KEY_PREFIX));
|
||||
this.numberOfShards =
|
||||
cfg.getInt(SECTION_ELASTICSEARCH, null, KEY_NUMBER_OF_SHARDS, DEFAULT_NUMBER_OF_SHARDS);
|
||||
|
||||
@@ -128,7 +128,6 @@ class ElasticRestClientProvider implements Provider<RestClient>, LifecycleListen
|
||||
|
||||
private RestClient build() {
|
||||
RestClientBuilder builder = RestClient.builder(cfg.getHosts());
|
||||
builder.setMaxRetryTimeoutMillis(cfg.maxRetryTimeout);
|
||||
setConfiguredCredentialsIfAny(builder);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ public enum ElasticVersion {
|
||||
V6_4("6.4.*"),
|
||||
V6_5("6.5.*"),
|
||||
V6_6("6.6.*"),
|
||||
V6_7("6.7.*"),
|
||||
V7_0("7.0.*");
|
||||
|
||||
private final String version;
|
||||
|
||||
@@ -32,7 +32,7 @@ public class ElasticReindexIT extends AbstractReindexTests {
|
||||
|
||||
@ConfigSuite.Config
|
||||
public static Config elasticsearchV6() {
|
||||
return getConfig(ElasticVersion.V6_6);
|
||||
return getConfig(ElasticVersion.V6_7);
|
||||
}
|
||||
|
||||
@ConfigSuite.Config
|
||||
|
||||
@@ -31,7 +31,7 @@ public class ElasticIndexIT extends AbstractIndexTests {
|
||||
|
||||
@ConfigSuite.Config
|
||||
public static Config elasticsearchV6() {
|
||||
return getConfig(ElasticVersion.V6_6);
|
||||
return getConfig(ElasticVersion.V6_7);
|
||||
}
|
||||
|
||||
@ConfigSuite.Config
|
||||
|
||||
@@ -15,21 +15,17 @@
|
||||
package com.google.gerrit.elasticsearch;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.DEFAULT_MAX_RETRY_TIMEOUT_MS;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.DEFAULT_USERNAME;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.KEY_MAX_RETRY_TIMEOUT;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.KEY_PASSWORD;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.KEY_PREFIX;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.KEY_SERVER;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.KEY_USERNAME;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.MAX_RETRY_TIMEOUT_UNIT;
|
||||
import static com.google.gerrit.elasticsearch.ElasticConfiguration.SECTION_ELASTICSEARCH;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.inject.ProvisionException;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.eclipse.jgit.lib.Config;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -46,7 +42,6 @@ public class ElasticConfigurationTest {
|
||||
assertThat(esCfg.username).isNull();
|
||||
assertThat(esCfg.password).isNull();
|
||||
assertThat(esCfg.prefix).isEmpty();
|
||||
assertThat(esCfg.maxRetryTimeout).isEqualTo(DEFAULT_MAX_RETRY_TIMEOUT_MS);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -65,23 +60,6 @@ public class ElasticConfigurationTest {
|
||||
assertThat(esCfg.prefix).isEqualTo("myprefix");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void maxRetryTimeoutInDefaultUnit() {
|
||||
Config cfg = newConfig();
|
||||
cfg.setString(SECTION_ELASTICSEARCH, null, KEY_MAX_RETRY_TIMEOUT, "45000");
|
||||
ElasticConfiguration esCfg = new ElasticConfiguration(cfg);
|
||||
assertThat(esCfg.maxRetryTimeout).isEqualTo(45000);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void maxRetryTimeoutInOtherUnit() {
|
||||
Config cfg = newConfig();
|
||||
cfg.setString(SECTION_ELASTICSEARCH, null, KEY_MAX_RETRY_TIMEOUT, "45 s");
|
||||
ElasticConfiguration esCfg = new ElasticConfiguration(cfg);
|
||||
assertThat(esCfg.maxRetryTimeout)
|
||||
.isEqualTo(MAX_RETRY_TIMEOUT_UNIT.convert(45, TimeUnit.SECONDS));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withAuthentication() throws Exception {
|
||||
Config cfg = newConfig();
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ElasticContainer extends ElasticsearchContainer {
|
||||
private static String getImageName(ElasticVersion version) {
|
||||
switch (version) {
|
||||
case V5_6:
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch:5.6.15";
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch:5.6.16";
|
||||
case V6_2:
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4";
|
||||
case V6_3:
|
||||
@@ -48,8 +48,10 @@ public class ElasticContainer extends ElasticsearchContainer {
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.5.4";
|
||||
case V6_6:
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.2";
|
||||
case V6_7:
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:6.7.0";
|
||||
case V7_0:
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-beta1";
|
||||
return "docker.elastic.co/elasticsearch/elasticsearch-oss:7.0.0-rc1";
|
||||
}
|
||||
throw new IllegalStateException("No tests for version: " + version.name());
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ElasticV6QueryAccountsTest extends AbstractQueryAccountsTest {
|
||||
return;
|
||||
}
|
||||
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_6);
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_7);
|
||||
nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ElasticV6QueryChangesTest extends AbstractQueryChangesTest {
|
||||
return;
|
||||
}
|
||||
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_6);
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_7);
|
||||
nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ElasticV6QueryGroupsTest extends AbstractQueryGroupsTest {
|
||||
return;
|
||||
}
|
||||
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_6);
|
||||
container = ElasticContainer.createAndStart(ElasticVersion.V6_7);
|
||||
nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,9 @@ public class ElasticVersionTest {
|
||||
assertThat(ElasticVersion.forVersion("6.6.0")).isEqualTo(ElasticVersion.V6_6);
|
||||
assertThat(ElasticVersion.forVersion("6.6.1")).isEqualTo(ElasticVersion.V6_6);
|
||||
|
||||
assertThat(ElasticVersion.forVersion("6.7.0")).isEqualTo(ElasticVersion.V6_7);
|
||||
assertThat(ElasticVersion.forVersion("6.7.1")).isEqualTo(ElasticVersion.V6_7);
|
||||
|
||||
assertThat(ElasticVersion.forVersion("7.0.0")).isEqualTo(ElasticVersion.V7_0);
|
||||
assertThat(ElasticVersion.forVersion("7.0.1")).isEqualTo(ElasticVersion.V7_0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user