diff options
author | Harald Musum <musum@verizonmedia.com> | 2019-10-24 22:41:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-24 22:41:11 +0200 |
commit | 2f187b97e6b7a7603d547e3fc9a0fdc58b810a25 (patch) | |
tree | bba35f651a24ec237191e24d754e079cc7db5f95 /config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java | |
parent | 9c70c86003bd6b7940c87f948cdebd05b1e793a5 (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.java | 26 |
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; } |