Merge branch 'stable-2.15'
* stable-2.15:
ElasticConfiguration: Log configured Elasticsearch hostnames as info
ElasticRestClientProvider: Store hosts as List instead of native array
ElasticConfiguration: Remove unused maxConnectionIdleUnit
Assume correct relative or absolute URL from Weblink provider
Change-Id: Id4f5ce62828a61017a3e0f0518d63a9519ecbf6c
diff --git a/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java b/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java
index 4184ec0..20c3427 100644
--- a/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java
+++ b/java/com/google/gerrit/elasticsearch/ElasticConfiguration.java
@@ -16,6 +16,7 @@
import com.google.common.base.MoreObjects;
import com.google.common.base.Strings;
+import com.google.common.flogger.FluentLogger;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -29,19 +30,20 @@
@Singleton
class ElasticConfiguration {
+ private static final FluentLogger logger = FluentLogger.forEnclosingClass();
+
private static final String DEFAULT_HOST = "localhost";
private static final String DEFAULT_PORT = "9200";
private static final String DEFAULT_PROTOCOL = "http";
private final Config cfg;
- final List<HttpHost> urls;
+ final List<HttpHost> hosts;
final String username;
final String password;
final boolean requestCompression;
final long connectionTimeout;
final long maxConnectionIdleTime;
- final TimeUnit maxConnectionIdleUnit = TimeUnit.MILLISECONDS;
final int maxTotalConnection;
final int readTimeout;
final String prefix;
@@ -66,18 +68,20 @@
if (subsections.isEmpty()) {
HttpHost httpHost =
new HttpHost(DEFAULT_HOST, Integer.valueOf(DEFAULT_PORT), DEFAULT_PROTOCOL);
- this.urls = Collections.singletonList(httpHost);
+ this.hosts = Collections.singletonList(httpHost);
} else {
- this.urls = new ArrayList<>(subsections.size());
+ this.hosts = new ArrayList<>(subsections.size());
for (String subsection : subsections) {
String port = getString(cfg, subsection, "port", DEFAULT_PORT);
String host = getString(cfg, subsection, "hostname", DEFAULT_HOST);
String protocol = getString(cfg, subsection, "protocol", DEFAULT_PROTOCOL);
HttpHost httpHost = new HttpHost(host, Integer.valueOf(port), protocol);
- this.urls.add(httpHost);
+ this.hosts.add(httpHost);
}
}
+
+ logger.atInfo().log("Elasticsearch hosts: %s", hosts);
}
Config getConfig() {
diff --git a/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java b/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
index c2c4548..e318d61 100644
--- a/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
+++ b/java/com/google/gerrit/elasticsearch/ElasticRestClientProvider.java
@@ -22,6 +22,7 @@
import com.google.inject.Provider;
import com.google.inject.Singleton;
import java.io.IOException;
+import java.util.List;
import org.apache.http.HttpHost;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
@@ -38,7 +39,7 @@
class ElasticRestClientProvider implements Provider<RestClient>, LifecycleListener {
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
- private final HttpHost[] hosts;
+ private final List<HttpHost> hosts;
private final String username;
private final String password;
@@ -47,7 +48,7 @@
@Inject
ElasticRestClientProvider(ElasticConfiguration cfg) {
- hosts = cfg.urls.toArray(new HttpHost[cfg.urls.size()]);
+ hosts = cfg.hosts;
username = cfg.username;
password = cfg.password;
}
@@ -131,7 +132,7 @@
}
private RestClient build() {
- RestClientBuilder builder = RestClient.builder(hosts);
+ RestClientBuilder builder = RestClient.builder(hosts.toArray(new HttpHost[hosts.size()]));
setConfiguredCredentialsIfAny(builder);
return builder.build();
}