Skip to content

Commit

Permalink
SONAR-8798 compile with ES 5.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sns-seb authored and bartfastiel committed Aug 9, 2017
1 parent fb18b1a commit c0e6647
Show file tree
Hide file tree
Showing 33 changed files with 319 additions and 325 deletions.
7 changes: 6 additions & 1 deletion pom.xml
Expand Up @@ -75,7 +75,7 @@
<logback.version>1.1.7</logback.version> <logback.version>1.1.7</logback.version>
<slf4j.version>1.7.21</slf4j.version> <slf4j.version>1.7.21</slf4j.version>
<tomcat.version>8.5.16</tomcat.version> <tomcat.version>8.5.16</tomcat.version>
<elasticsearch.version>2.4.4</elasticsearch.version> <elasticsearch.version>5.0.0</elasticsearch.version>
<orchestrator.version>3.15.0.1090</orchestrator.version> <orchestrator.version>3.15.0.1090</orchestrator.version>
<okhttp.version>3.7.0</okhttp.version> <okhttp.version>3.7.0</okhttp.version>
<jackson.version>2.6.6</jackson.version> <jackson.version>2.6.6</jackson.version>
Expand Down Expand Up @@ -842,6 +842,11 @@
<artifactId>log4j-over-slf4j</artifactId> <artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version> <version>${slf4j.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId> <artifactId>logback-access</artifactId>
Expand Down
14 changes: 6 additions & 8 deletions server/sonar-search/pom.xml
Expand Up @@ -35,16 +35,14 @@




<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>slf4j-api</artifactId> <artifactId>log4j-api</artifactId>
<version>2.6.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>logback-classic</artifactId> <artifactId>log4j-core</artifactId>
</dependency> <version>2.6.2</version>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency> </dependency>


<!-- testing --> <!-- testing -->
Expand Down
Expand Up @@ -19,12 +19,13 @@
*/ */
package org.sonar.search; package org.sonar.search;


import java.io.IOException;
import org.apache.lucene.util.StringHelper; import org.apache.lucene.util.StringHelper;
import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.node.Node; import org.elasticsearch.node.Node;
import org.elasticsearch.node.NodeBuilder; import org.elasticsearch.node.NodeValidationException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.sonar.process.Jmx; import org.sonar.process.Jmx;
Expand Down Expand Up @@ -56,11 +57,14 @@ public void start() {
if (esSettings.getAsInt(MIMINUM_MASTER_NODES, 1) >= 2) { if (esSettings.getAsInt(MIMINUM_MASTER_NODES, 1) >= 2) {
LOGGER.info("Elasticsearch is waiting {} for {} node(s) to be up to start.", LOGGER.info("Elasticsearch is waiting {} for {} node(s) to be up to start.",
esSettings.get(INITIAL_STATE_TIMEOUT), esSettings.get(INITIAL_STATE_TIMEOUT),
esSettings.get(MIMINUM_MASTER_NODES) esSettings.get(MIMINUM_MASTER_NODES));
); }
node = new Node(settings.build());
try {
node.start();
} catch (NodeValidationException e) {
throw new RuntimeException("Failed to start ES", e);
} }
node = NodeBuilder.nodeBuilder().settings(esSettings).build();
node.start();
} }


// copied from https://github.com/elastic/elasticsearch/blob/v2.3.3/core/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java // copied from https://github.com/elastic/elasticsearch/blob/v2.3.3/core/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java
Expand All @@ -72,10 +76,10 @@ private static void initBootstrap() {
@Override @Override
public Status getStatus() { public Status getStatus() {
boolean esStatus = node != null && node.client().admin().cluster().prepareHealth() boolean esStatus = node != null && node.client().admin().cluster().prepareHealth()
.setWaitForYellowStatus() .setWaitForYellowStatus()
.setTimeout(TimeValue.timeValueSeconds(30L)) .setTimeout(TimeValue.timeValueSeconds(30L))
.get() .get()
.getStatus() != ClusterHealthStatus.RED; .getStatus() != ClusterHealthStatus.RED;
if (esStatus) { if (esStatus) {
return Status.OPERATIONAL; return Status.OPERATIONAL;
} }
Expand All @@ -97,7 +101,11 @@ public void awaitStop() {
@Override @Override
public void stop() { public void stop() {
if (node != null && !node.isClosed()) { if (node != null && !node.isClosed()) {
node.close(); try {
node.close();
} catch (IOException e) {
LOGGER.error("Failed to stop ES cleanly", e);
}
} }
Jmx.unregister(EsSettingsMBean.OBJECT_NAME); Jmx.unregister(EsSettingsMBean.OBJECT_NAME);
} }
Expand Down
Expand Up @@ -21,13 +21,16 @@


import java.io.IOException; import java.io.IOException;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.Collection;
import java.util.Collections;
import java.util.Properties; import java.util.Properties;
import org.elasticsearch.client.Client; import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.NoNodeAvailableException; import org.elasticsearch.client.transport.NoNodeAvailableException;
import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.plugins.Plugin;
import org.junit.After; import org.junit.After;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
Expand Down Expand Up @@ -86,6 +89,7 @@ public void log_information_on_startup() throws IOException {
Logger logger = mock(Logger.class); Logger logger = mock(Logger.class);
underTest.LOGGER = logger; underTest.LOGGER = logger;
underTest.start(); underTest.start();
System.out.println(org.apache.logging.log4j.Logger.class);
verify(logger).info(eq("Elasticsearch is waiting {} for {} node(s) to be up to start."), eq("1s"), eq("2")); verify(logger).info(eq("Elasticsearch is waiting {} for {} node(s) to be up to start."), eq("1s"), eq("2"));
} }


Expand All @@ -109,8 +113,10 @@ public void start_stop_server() throws Exception {
assertThat(underTest.getStatus()).isEqualTo(Monitored.Status.OPERATIONAL); assertThat(underTest.getStatus()).isEqualTo(Monitored.Status.OPERATIONAL);


Settings settings = Settings.builder().put("cluster.name", A_CLUSTER_NAME).build(); Settings settings = Settings.builder().put("cluster.name", A_CLUSTER_NAME).build();
client = TransportClient.builder().settings(settings).build() Collection<Class<? extends Plugin>> plugins = Collections.emptyList();
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getLoopbackAddress(), port)); client = new TransportClient(settings, plugins) {

}.addTransportAddress(new InetSocketTransportAddress(InetAddress.getLoopbackAddress(), port));
assertThat(client.admin().cluster().prepareClusterStats().get().getStatus()).isEqualTo(ClusterHealthStatus.GREEN); assertThat(client.admin().cluster().prepareClusterStats().get().getStatus()).isEqualTo(ClusterHealthStatus.GREEN);


underTest.stop(); underTest.stop();
Expand Down
9 changes: 6 additions & 3 deletions server/sonar-server/pom.xml
Expand Up @@ -27,6 +27,10 @@
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId> <artifactId>jul-to-slf4j</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>ch.qos.logback</groupId> <groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId> <artifactId>logback-access</artifactId>
Expand Down Expand Up @@ -148,11 +152,10 @@
<artifactId>elasticsearch</artifactId> <artifactId>elasticsearch</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.elasticsearch</groupId> <groupId>org.elasticsearch.test</groupId>
<artifactId>elasticsearch</artifactId> <artifactId>framework</artifactId>
<version>${elasticsearch.version}</version> <version>${elasticsearch.version}</version>
<scope>test</scope> <scope>test</scope>
<type>test-jar</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.java.dev.jna</groupId> <groupId>net.java.dev.jna</groupId>
Expand Down
Expand Up @@ -33,10 +33,10 @@
import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.filters.FiltersAggregationBuilder; import org.elasticsearch.search.aggregations.bucket.filters.FiltersAggregationBuilder;
import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters; import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters;
import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters.Bucket; import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters.InternalBucket;
import org.elasticsearch.search.aggregations.metrics.tophits.InternalTopHits; import org.elasticsearch.search.aggregations.metrics.tophits.InternalTopHits;
import org.elasticsearch.search.aggregations.metrics.tophits.TopHitsBuilder; import org.elasticsearch.search.aggregations.metrics.tophits.TopHitsAggregationBuilder;
import org.elasticsearch.search.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
import org.elasticsearch.search.sort.FieldSortBuilder; import org.elasticsearch.search.sort.FieldSortBuilder;
import org.elasticsearch.search.sort.ScoreSortBuilder; import org.elasticsearch.search.sort.ScoreSortBuilder;
import org.sonar.server.es.EsClient; import org.sonar.server.es.EsClient;
Expand Down Expand Up @@ -67,7 +67,7 @@ public ComponentIndex(EsClient client, AuthorizationTypeSupport authorizationTyp
this.authorizationTypeSupport = authorizationTypeSupport; this.authorizationTypeSupport = authorizationTypeSupport;
} }


private static HighlightBuilder.Field createHighlighter() { private static HighlightBuilder.Field createHighlighterField() {
HighlightBuilder.Field field = new HighlightBuilder.Field(FIELD_NAME); HighlightBuilder.Field field = new HighlightBuilder.Field(FIELD_NAME);
field.highlighterType("fvh"); field.highlighterType("fvh");
field.matchedFields( field.matchedFields(
Expand Down Expand Up @@ -105,23 +105,25 @@ ComponentIndexResults search(ComponentIndexQuery query, ComponentTextSearchFeatu
} }


private static FiltersAggregationBuilder createAggregation(ComponentIndexQuery query) { private static FiltersAggregationBuilder createAggregation(ComponentIndexQuery query) {
FiltersAggregationBuilder filtersAggregation = AggregationBuilders.filters(FILTERS_AGGREGATION_NAME) return AggregationBuilders.filters(
FILTERS_AGGREGATION_NAME,
query.getQualifiers().stream().map(q -> termQuery(FIELD_QUALIFIER, q)).toArray(QueryBuilder[]::new))
.subAggregation(createSubAggregation(query)); .subAggregation(createSubAggregation(query));
query.getQualifiers().forEach(q -> filtersAggregation.filter(q, termQuery(FIELD_QUALIFIER, q)));
return filtersAggregation;
} }


private static TopHitsBuilder createSubAggregation(ComponentIndexQuery query) { private static TopHitsAggregationBuilder createSubAggregation(ComponentIndexQuery query) {
TopHitsBuilder sub = AggregationBuilders.topHits(DOCS_AGGREGATION_NAME) return AggregationBuilders.topHits(DOCS_AGGREGATION_NAME)
.setHighlighterEncoder("html") .highlighter(new HighlightBuilder()
.setHighlighterPreTags("<mark>") .encoder("html")
.setHighlighterPostTags("</mark>") .preTags("<mark>")
.addHighlightedField(createHighlighter()) .postTags("</mark>")
.setFrom(query.getSkip()) .field(createHighlighterField())
.setSize(query.getLimit()) )
.addSort(new ScoreSortBuilder()) .from(query.getSkip())
.addSort(new FieldSortBuilder(ComponentIndexDefinition.FIELD_NAME)); .size(query.getLimit())
return sub.setFetchSource(false); .sort(new ScoreSortBuilder())
.sort(new FieldSortBuilder(ComponentIndexDefinition.FIELD_NAME))
.fetchSource(false);
} }


private QueryBuilder createQuery(ComponentIndexQuery query, ComponentTextSearchFeature... features) { private QueryBuilder createQuery(ComponentIndexQuery query, ComponentTextSearchFeature... features) {
Expand All @@ -139,14 +141,14 @@ private QueryBuilder createQuery(ComponentIndexQuery query, ComponentTextSearchF


private static ComponentIndexResults aggregationsToQualifiers(SearchResponse response) { private static ComponentIndexResults aggregationsToQualifiers(SearchResponse response) {
InternalFilters filtersAgg = response.getAggregations().get(FILTERS_AGGREGATION_NAME); InternalFilters filtersAgg = response.getAggregations().get(FILTERS_AGGREGATION_NAME);
List<Bucket> buckets = filtersAgg.getBuckets(); List<InternalBucket> buckets = filtersAgg.getBuckets();
return ComponentIndexResults.newBuilder() return ComponentIndexResults.newBuilder()
.setQualifiers( .setQualifiers(
buckets.stream().map(ComponentIndex::bucketToQualifier)) buckets.stream().map(ComponentIndex::bucketToQualifier))
.build(); .build();
} }


private static ComponentHitsPerQualifier bucketToQualifier(Bucket bucket) { private static ComponentHitsPerQualifier bucketToQualifier(InternalBucket bucket) {
InternalTopHits docs = bucket.getAggregations().get(DOCS_AGGREGATION_NAME); InternalTopHits docs = bucket.getAggregations().get(DOCS_AGGREGATION_NAME);


SearchHits hitList = docs.getHits(); SearchHits hitList = docs.getHits();
Expand Down
Expand Up @@ -20,6 +20,7 @@
package org.sonar.server.es; package org.sonar.server.es;


import java.util.Arrays; import java.util.Arrays;
import org.elasticsearch.action.support.WriteRequest.RefreshPolicy;
import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.settings.Settings;


Expand All @@ -43,18 +44,17 @@ public class DefaultIndexSettings {


public static final String TYPE = "type"; public static final String TYPE = "type";
public static final String INDEX = "index"; public static final String INDEX = "index";
public static final String INDEX_SEARCHABLE_FOR_TEXT = "analyzed"; // ES 5: remove this constant and replace usages with INDEX_SEARCHABLE public static final String INDEX_SEARCHABLE = "true";
public static final String INDEX_SEARCHABLE_FOR_KEYWORD = "not_analyzed"; // ES 5: change to true and rename to INDEX_SEARCHABLE public static final String INDEX_NOT_SEARCHABLE = "false";
public static final String INDEX_NOT_SEARCHABLE = "no"; // ES 5: change to false public static final String FIELD_TYPE_TEXT = "text";
public static final String FIELD_TYPE_TEXT = "string"; // ES 5: change to text public static final String FIELD_TYPE_KEYWORD = "keyword";
public static final String FIELD_TYPE_KEYWORD = "string"; // ES 5: change to keyword
public static final String STANDARD = "standard"; public static final String STANDARD = "standard";
public static final String PATTERN = "pattern"; public static final String PATTERN = "pattern";
public static final String CUSTOM = "custom"; public static final String CUSTOM = "custom";
public static final String KEYWORD = "keyword"; public static final String KEYWORD = "keyword";
public static final String CLASSIC = "classic"; public static final String CLASSIC = "classic";
public static final boolean REFRESH_IMMEDIATE = true; // ES 5: replace with org.elasticsearch.action.support.WriteRequest.RefreshPolicy.IMMEDIATE public static final RefreshPolicy REFRESH_IMMEDIATE = RefreshPolicy.IMMEDIATE;
public static final boolean REFRESH_NONE = false; // ES 5: replace with org.elasticsearch.action.support.WriteRequest.RefreshPolicy.NONE public static final RefreshPolicy REFRESH_NONE = RefreshPolicy.NONE;


public static final String TRUNCATE = "truncate"; public static final String TRUNCATE = "truncate";


Expand Down
Expand Up @@ -33,7 +33,7 @@
import static org.sonar.server.es.DefaultIndexSettings.FIELD_TYPE_TEXT; import static org.sonar.server.es.DefaultIndexSettings.FIELD_TYPE_TEXT;
import static org.sonar.server.es.DefaultIndexSettings.FILTER; import static org.sonar.server.es.DefaultIndexSettings.FILTER;
import static org.sonar.server.es.DefaultIndexSettings.INDEX; import static org.sonar.server.es.DefaultIndexSettings.INDEX;
import static org.sonar.server.es.DefaultIndexSettings.INDEX_SEARCHABLE_FOR_TEXT; import static org.sonar.server.es.DefaultIndexSettings.INDEX_SEARCHABLE;
import static org.sonar.server.es.DefaultIndexSettings.KEYWORD; import static org.sonar.server.es.DefaultIndexSettings.KEYWORD;
import static org.sonar.server.es.DefaultIndexSettings.LOWERCASE; import static org.sonar.server.es.DefaultIndexSettings.LOWERCASE;
import static org.sonar.server.es.DefaultIndexSettings.MAXIMUM_NGRAM_LENGTH; import static org.sonar.server.es.DefaultIndexSettings.MAXIMUM_NGRAM_LENGTH;
Expand Down Expand Up @@ -125,7 +125,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, getName()); ANALYZER, getName());
} }
}, },
Expand All @@ -149,7 +149,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, INDEX_GRAMS_ANALYZER.getName(), ANALYZER, INDEX_GRAMS_ANALYZER.getName(),
SEARCH_ANALYZER, getName()); SEARCH_ANALYZER, getName());
} }
Expand All @@ -174,7 +174,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, INDEX_PREFIX_ANALYZER.getName(), ANALYZER, INDEX_PREFIX_ANALYZER.getName(),
SEARCH_ANALYZER, getName()); SEARCH_ANALYZER, getName());
} }
Expand All @@ -199,7 +199,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, INDEX_PREFIX_CASE_INSENSITIVE_ANALYZER.getName(), ANALYZER, INDEX_PREFIX_CASE_INSENSITIVE_ANALYZER.getName(),
SEARCH_ANALYZER, getName()); SEARCH_ANALYZER, getName());
} }
Expand All @@ -224,7 +224,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, USER_INDEX_GRAMS_ANALYZER.getName(), ANALYZER, USER_INDEX_GRAMS_ANALYZER.getName(),
SEARCH_ANALYZER, getName()); SEARCH_ANALYZER, getName());
} }
Expand All @@ -249,7 +249,7 @@ protected void setup() {
public SortedMap<String, String> fieldMapping() { public SortedMap<String, String> fieldMapping() {
return ImmutableSortedMap.of( return ImmutableSortedMap.of(
TYPE, FIELD_TYPE_TEXT, TYPE, FIELD_TYPE_TEXT,
INDEX, INDEX_SEARCHABLE_FOR_TEXT, INDEX, INDEX_SEARCHABLE,
ANALYZER, INDEX_WORDS_ANALYZER.getName(), ANALYZER, INDEX_WORDS_ANALYZER.getName(),
SEARCH_ANALYZER, getName()); SEARCH_ANALYZER, getName());
} }
Expand Down
Expand Up @@ -23,6 +23,7 @@
import java.net.InetAddress; import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.common.transport.InetSocketTransportAddress;
Expand Down Expand Up @@ -54,13 +55,13 @@ public EsClient provide(Configuration config) {
boolean clusterEnabled = config.getBoolean(ProcessProperties.CLUSTER_ENABLED).orElse(false); boolean clusterEnabled = config.getBoolean(ProcessProperties.CLUSTER_ENABLED).orElse(false);
if (clusterEnabled && config.getBoolean(ProcessProperties.CLUSTER_SEARCH_DISABLED).orElse(false)) { if (clusterEnabled && config.getBoolean(ProcessProperties.CLUSTER_SEARCH_DISABLED).orElse(false)) {
esSettings.put("client.transport.sniff", true); esSettings.put("client.transport.sniff", true);
nativeClient = TransportClient.builder().settings(esSettings).build(); nativeClient = new TransportClient(esSettings.build(), Collections.emptyList()) {};
Arrays.stream(config.getStringArray(ProcessProperties.CLUSTER_SEARCH_HOSTS)) Arrays.stream(config.getStringArray(ProcessProperties.CLUSTER_SEARCH_HOSTS))
.map(HostAndPort::fromString) .map(HostAndPort::fromString)
.forEach(h -> addHostToClient(h, nativeClient)); .forEach(h -> addHostToClient(h, nativeClient));
LOGGER.info("Connected to remote Elasticsearch: [{}]", displayedAddresses(nativeClient)); LOGGER.info("Connected to remote Elasticsearch: [{}]", displayedAddresses(nativeClient));
} else { } else {
nativeClient = TransportClient.builder().settings(esSettings).build(); nativeClient = new TransportClient(esSettings.build(), Collections.emptyList()) {};
HostAndPort host = HostAndPort.fromParts(config.get(ProcessProperties.SEARCH_HOST).get(), config.getInt(ProcessProperties.SEARCH_PORT).get()); HostAndPort host = HostAndPort.fromParts(config.get(ProcessProperties.SEARCH_HOST).get(), config.getInt(ProcessProperties.SEARCH_PORT).get());
addHostToClient(host, nativeClient); addHostToClient(host, nativeClient);
LOGGER.info("Connected to local Elasticsearch: [{}]", displayedAddresses(nativeClient)); LOGGER.info("Connected to local Elasticsearch: [{}]", displayedAddresses(nativeClient));
Expand Down

0 comments on commit c0e6647

Please sign in to comment.