summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-03-04 15:39:22 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2024-03-04 15:45:58 +0100
commit8faeeb42323c95b0efddcf492ead1d5947f352ac (patch)
tree28551edf7a7f0535d81814b944c75a601cefbe0b /config-model
parentfbe017f7b123f7787a7bbe622dbce7a97d0eb42c (diff)
Simplify MultipleDocumentDatabasesConfigProducer according to doc.
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java15
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java73
2 files changed, 34 insertions, 54 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
index 98adde7b547..03076b64d0c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/RankSetupValidator.java
@@ -22,7 +22,6 @@ import com.yahoo.vespa.config.search.vsm.VsmfieldsConfig;
import com.yahoo.vespa.defaults.Defaults;
import com.yahoo.vespa.model.application.validation.Validation.Context;
import com.yahoo.vespa.model.search.DocumentDatabase;
-import com.yahoo.vespa.model.search.IndexedSearchCluster;
import com.yahoo.vespa.model.search.SearchCluster;
import com.yahoo.yolean.Exceptions;
@@ -111,31 +110,31 @@ public class RankSetupValidator implements Validator {
writeConfig(dir, VsmfieldsConfig.getDefName() + ".cfg", vsmFB.build());
RankProfilesConfig.Builder rpcb = new RankProfilesConfig.Builder();
- ((RankProfilesConfig.Producer) producer).getConfig(rpcb);
+ producer.getConfig(rpcb);
writeConfig(dir, RankProfilesConfig.getDefName() + ".cfg", rpcb.build());
IndexschemaConfig.Builder iscb = new IndexschemaConfig.Builder();
- ((IndexschemaConfig.Producer) producer).getConfig(iscb);
+ producer.getConfig(iscb);
writeConfig(dir, IndexschemaConfig.getDefName() + ".cfg", iscb.build());
AttributesConfig.Builder acb = new AttributesConfig.Builder();
- ((AttributesConfig.Producer) producer).getConfig(acb);
+ producer.getConfig(acb);
writeConfig(dir, AttributesConfig.getDefName() + ".cfg", acb.build());
RankingConstantsConfig.Builder rccb = new RankingConstantsConfig.Builder();
- ((RankingConstantsConfig.Producer) producer).getConfig(rccb);
+ producer.getConfig(rccb);
writeConfig(dir, RankingConstantsConfig.getDefName() + ".cfg", rccb.build());
RankingExpressionsConfig.Builder recb = new RankingExpressionsConfig.Builder();
- ((RankingExpressionsConfig.Producer) producer).getConfig(recb);
+ producer.getConfig(recb);
writeConfig(dir, RankingExpressionsConfig.getDefName() + ".cfg", recb.build());
OnnxModelsConfig.Builder omcb = new OnnxModelsConfig.Builder();
- ((OnnxModelsConfig.Producer) producer).getConfig(omcb);
+ producer.getConfig(omcb);
writeConfig(dir, OnnxModelsConfig.getDefName() + ".cfg", omcb.build());
ImportedFieldsConfig.Builder ifcb = new ImportedFieldsConfig.Builder();
- ((ImportedFieldsConfig.Producer) producer).getConfig(ifcb);
+ producer.getConfig(ifcb);
writeConfig(dir, ImportedFieldsConfig.getDefName() + ".cfg", ifcb.build());
}
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 885cb53a148..a55eb0fefe8 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
@@ -45,7 +45,6 @@ public class IndexedSearchCluster extends SearchCluster
private SearchCoverage searchCoverage;
private final List<DocumentDatabase> documentDbs = new LinkedList<>();
- private final MultipleDocumentDatabasesConfigProducer documentDbsConfigProducer;
private final Redundancy.Provider redundancyProvider;
@@ -57,7 +56,6 @@ public class IndexedSearchCluster extends SearchCluster
public IndexedSearchCluster(TreeConfigProducer<AnyConfigProducer> parent, String clusterName, int index,
Redundancy.Provider redundancyProvider, ModelContext.FeatureFlags featureFlags) {
super(parent, clusterName, index);
- documentDbsConfigProducer = new MultipleDocumentDatabasesConfigProducer(this, documentDbs);
this.redundancyProvider = redundancyProvider;
defaultDispatchPolicy = DispatchTuning.Builder.toDispatchPolicy(featureFlags.queryDispatchPolicy());
dispatchWarmup = featureFlags.queryDispatchWarmup();
@@ -132,25 +130,25 @@ public class IndexedSearchCluster extends SearchCluster
@Override
public void getConfig(IndexInfoConfig.Builder builder) {
- documentDbsConfigProducer.getConfig(builder);
+ new Join(documentDbs).getConfig(builder);
}
@Override
public void getConfig(SchemaInfoConfig.Builder builder) {
- documentDbsConfigProducer.getConfig(builder);
+ new Join(documentDbs).getConfig(builder);
}
@Override
public void getConfig(IlscriptsConfig.Builder builder) {
- documentDbsConfigProducer.getConfig(builder);
+ new Join(documentDbs).getConfig(builder);
}
public void getConfig(AttributesConfig.Builder builder) {
- documentDbsConfigProducer.getConfig(builder);
+ new Join(documentDbs).getConfig(builder);
}
public void getConfig(RankProfilesConfig.Builder builder) {
- documentDbsConfigProducer.getConfig(builder);
+ new Join(documentDbs).getConfig(builder);
}
private static DistributionPolicy.Enum toDistributionPolicy(DispatchTuning.DispatchPolicy tuning) {
@@ -216,59 +214,42 @@ public class IndexedSearchCluster extends SearchCluster
/**
* Class used to retrieve combined configuration from multiple document databases.
- * It is not a direct {@link com.yahoo.config.ConfigInstance.Producer} of those configs,
+ * 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.
*/
- public static class MultipleDocumentDatabasesConfigProducer
- extends TreeConfigProducer<MultipleDocumentDatabasesConfigProducer>
- implements AttributesConfig.Producer,
- IndexInfoConfig.Producer,
- IlscriptsConfig.Producer,
- SchemaInfoConfig.Producer,
- RankProfilesConfig.Producer {
- private final List<DocumentDatabase> docDbs;
-
- private MultipleDocumentDatabasesConfigProducer(TreeConfigProducer<?> parent, List<DocumentDatabase> docDbs) {
- super(parent, "union");
- this.docDbs = docDbs;
- }
+ private record Join(List<DocumentDatabase> docDbs) {
- @Override
public void getConfig(IndexInfoConfig.Builder builder) {
- for (DocumentDatabase docDb : docDbs) {
- docDb.getConfig(builder);
+ for (DocumentDatabase docDb : docDbs) {
+ docDb.getConfig(builder);
+ }
}
- }
- @Override
- public void getConfig(SchemaInfoConfig.Builder builder) {
- for (DocumentDatabase docDb : docDbs) {
- docDb.getConfig(builder);
+ public void getConfig(SchemaInfoConfig.Builder builder) {
+ for (DocumentDatabase docDb : docDbs) {
+ docDb.getConfig(builder);
+ }
}
- }
- @Override
- public void getConfig(IlscriptsConfig.Builder builder) {
- for (DocumentDatabase docDb : docDbs) {
- docDb.getConfig(builder);
+ public void getConfig(IlscriptsConfig.Builder builder) {
+ for (DocumentDatabase docDb : docDbs) {
+ docDb.getConfig(builder);
+ }
}
- }
- @Override
- public void getConfig(AttributesConfig.Builder builder) {
- for (DocumentDatabase docDb : docDbs) {
- docDb.getConfig(builder);
+ public void getConfig(AttributesConfig.Builder builder) {
+ for (DocumentDatabase docDb : docDbs) {
+ docDb.getConfig(builder);
+ }
}
- }
- @Override
- public void getConfig(RankProfilesConfig.Builder builder) {
- for (DocumentDatabase docDb : docDbs) {
- docDb.getConfig(builder);
+ public void getConfig(RankProfilesConfig.Builder builder) {
+ for (DocumentDatabase docDb : docDbs) {
+ docDb.getConfig(builder);
+ }
}
- }
- }
+ }
}