aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-10-24 22:41:11 +0200
committerGitHub <noreply@github.com>2019-10-24 22:41:11 +0200
commit2f187b97e6b7a7603d547e3fc9a0fdc58b810a25 (patch)
treebba35f651a24ec237191e24d754e079cc7db5f95 /config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java
parent9c70c86003bd6b7940c87f948cdebd05b1e793a5 (diff)
Revert "search-nodes config is long gone. Now it is taken over by dispatch co…"
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java26
1 files changed, 21 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java
index 25a4197dcac..aa820d1d898 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java
@@ -7,6 +7,7 @@ import com.yahoo.component.chain.model.ChainSpecification;
import com.yahoo.component.chain.model.ChainedComponentModel;
import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
import com.yahoo.prelude.cluster.QrMonitorConfig;
+import com.yahoo.search.config.dispatchprototype.SearchNodesConfig;
import com.yahoo.vespa.config.search.DispatchConfig;
import com.yahoo.vespa.config.search.RankProfilesConfig;
import com.yahoo.vespa.config.search.AttributesConfig;
@@ -15,11 +16,9 @@ import com.yahoo.search.searchchain.model.federation.FederationOptions;
import com.yahoo.search.searchchain.model.federation.LocalProviderSpec;
import com.yahoo.vespa.model.search.AbstractSearchCluster;
import com.yahoo.vespa.model.search.IndexedSearchCluster;
+import com.yahoo.vespa.model.search.SearchNode;
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
/**
* Config producer for search chain responsible for sending queries to a local cluster.
@@ -32,6 +31,7 @@ public class LocalProvider extends Provider implements
AttributesConfig.Producer,
QrMonitorConfig.Producer,
RankProfilesConfig.Producer,
+ SearchNodesConfig.Producer,
DispatchConfig.Producer {
private final LocalProviderSpec providerSpec;
@@ -69,6 +69,22 @@ public class LocalProvider extends Provider implements
}
}
+ @Override
+ public void getConfig(final SearchNodesConfig.Builder builder) {
+ if (!(searchCluster instanceof IndexedSearchCluster)) {
+ log.warning("Could not build SearchNodesConfig: Only supported for IndexedSearchCluster, got "
+ + searchCluster.getClass().getCanonicalName());
+ return;
+ }
+ final IndexedSearchCluster indexedSearchCluster = (IndexedSearchCluster) searchCluster;
+ for (final SearchNode searchNode : indexedSearchCluster.getSearchNodes()) {
+ builder.search_node(
+ new SearchNodesConfig.Search_node.Builder()
+ .host(searchNode.getHostName())
+ .port(searchNode.getDispatchPort()));
+ }
+ }
+
private void addProviderSearchers() {
for (ChainedComponentModel searcherModel : LocalProviderSpec.searcherModels) {
addInnerComponent(new Searcher<>(searcherModel));
@@ -105,7 +121,7 @@ public class LocalProvider extends Provider implements
return providerSpec.clusterName;
}
- void setSearchCluster(AbstractSearchCluster searchCluster) {
+ public void setSearchCluster(AbstractSearchCluster searchCluster) {
assert (this.searchCluster == null);
this.searchCluster = searchCluster;
}