diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java | 118 |
1 files changed, 3 insertions, 115 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java index e20c294d135..b51185ddac2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java @@ -1,31 +1,22 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.search; -import com.yahoo.config.ConfigInstance; import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AnyConfigProducer; import com.yahoo.config.model.producer.TreeConfigProducer; -import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig; import com.yahoo.schema.DocumentOnlySchema; import com.yahoo.schema.derived.DerivedConfiguration; import com.yahoo.schema.derived.SchemaInfo; -import com.yahoo.search.config.IndexInfoConfig; -import com.yahoo.search.config.SchemaInfoConfig; -import com.yahoo.vespa.config.search.AttributesConfig; import com.yahoo.vespa.config.search.DispatchConfig; import com.yahoo.vespa.config.search.DispatchConfig.DistributionPolicy; import com.yahoo.vespa.config.search.DispatchNodesConfig; -import com.yahoo.vespa.config.search.RankProfilesConfig; -import com.yahoo.vespa.config.search.core.ProtonConfig; -import com.yahoo.vespa.configdefinition.IlscriptsConfig; import com.yahoo.vespa.model.content.DispatchTuning; import com.yahoo.vespa.model.content.Redundancy; import com.yahoo.vespa.model.content.SearchCoverage; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedList; import java.util.List; /** @@ -35,12 +26,9 @@ public class IndexedSearchCluster extends SearchCluster implements DispatchConfig.Producer, DispatchNodesConfig.Producer { - private Tuning tuning; private SearchCoverage searchCoverage; - private final List<DocumentDatabase> documentDbs = new LinkedList<>(); - private final Redundancy.Provider redundancyProvider; private final List<SearchNode> searchNodes = new ArrayList<>(); @@ -72,80 +60,20 @@ public class IndexedSearchCluster extends SearchCluster implements } public Tuning getTuning() { return tuning; } - public void fillDocumentDBConfig(String documentType, ProtonConfig.Documentdb.Builder builder) { - for (DocumentDatabase sdoc : documentDbs) { - if (sdoc.getName().equals(documentType)) { - fillDocumentDBConfig(sdoc, builder); - return; - } - } - } - - private void fillDocumentDBConfig(DocumentDatabase sdoc, ProtonConfig.Documentdb.Builder ddbB) { - ddbB.inputdoctypename(sdoc.getSchemaName()) - .configid(sdoc.getConfigId()); - } - @Override public void deriveFromSchemas(DeployState deployState) { for (SchemaInfo spec : schemas().values()) { if (spec.fullSchema() instanceof DocumentOnlySchema) continue; - DocumentDatabase db = new DocumentDatabase(this, spec.fullSchema().getName(), - new DerivedConfiguration(spec.fullSchema(), deployState, false)); - documentDbs.add(db); + var db = new DocumentDatabase(this, spec.fullSchema().getName(), + new DerivedConfiguration(spec.fullSchema(), deployState, false)); + add(db); } } - @Override - public List<DocumentDatabase> getDocumentDbs() { - return documentDbs; - } - - public boolean hasDocumentDB(String name) { - for (DocumentDatabase db : documentDbs) { - if (db.getName().equals(name)) { - return true; - } - } - return false; - } - public void setSearchCoverage(SearchCoverage searchCoverage) { this.searchCoverage = searchCoverage; } - @Override - public void getConfig(DocumentdbInfoConfig.Builder builder) { - for (DocumentDatabase db : documentDbs) { - DocumentdbInfoConfig.Documentdb.Builder docDb = new DocumentdbInfoConfig.Documentdb.Builder(); - docDb.name(db.getName()); - builder.documentdb(docDb); - } - } - - @Override - public void getConfig(IndexInfoConfig.Builder builder) { - new Join(documentDbs).getConfig(builder); - } - - @Override - public void getConfig(SchemaInfoConfig.Builder builder) { - new Join(documentDbs).getConfig(builder); - } - - @Override - public void getConfig(IlscriptsConfig.Builder builder) { - new Join(documentDbs).getConfig(builder); - } - - public void getConfig(AttributesConfig.Builder builder) { - new Join(documentDbs).getConfig(builder); - } - - public void getConfig(RankProfilesConfig.Builder builder) { - new Join(documentDbs).getConfig(builder); - } - private static DistributionPolicy.Enum toDistributionPolicy(DispatchTuning.DispatchPolicy tuning) { return switch (tuning) { case ADAPTIVE: yield DistributionPolicy.ADAPTIVE; @@ -207,44 +135,4 @@ public class IndexedSearchCluster extends SearchCluster implements return "Indexing cluster '" + getClusterName() + "'"; } - /** - * Class used to retrieve combined configuration from multiple document databases. - * It is not a direct {@link ConfigInstance.Producer} of those configs, - * that is handled (by delegating to this) by the {@link IndexedSearchCluster} - * which is the parent to this. This avoids building the config multiple times. - */ - private record Join(List<DocumentDatabase> docDbs) { - - public void getConfig(IndexInfoConfig.Builder builder) { - for (DocumentDatabase docDb : docDbs) { - docDb.getConfig(builder); - } - } - - public void getConfig(SchemaInfoConfig.Builder builder) { - for (DocumentDatabase docDb : docDbs) { - docDb.getConfig(builder); - } - } - - public void getConfig(IlscriptsConfig.Builder builder) { - for (DocumentDatabase docDb : docDbs) { - docDb.getConfig(builder); - } - } - - public void getConfig(AttributesConfig.Builder builder) { - for (DocumentDatabase docDb : docDbs) { - docDb.getConfig(builder); - } - } - - public void getConfig(RankProfilesConfig.Builder builder) { - for (DocumentDatabase docDb : docDbs) { - docDb.getConfig(builder); - } - } - - } - } |