aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-03-04 17:06:13 +0100
committerGitHub <noreply@github.com>2024-03-04 17:06:13 +0100
commitac065ac8784bb5e62de0db75ffa6436a389c8b31 (patch)
treeb4aad277dcbf41c6b1bcddc05c94e99cb6ca1caf /config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
parentdfdf2879e722f5932ee952450347cc4aa6ee0b3f (diff)
parent94d01c8e7945c446687aaf486217d39d2cd75fe7 (diff)
Merge pull request #30472 from vespa-engine/balder/no-need-to-be-a-producer
Simplify MultipleDocumentDatabasesConfigProducer according to doc.
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.java44
1 files changed, 10 insertions, 34 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 885cb53a148..e20c294d135 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
@@ -31,21 +31,15 @@ import java.util.List;
/**
* @author baldersheim
*/
-public class IndexedSearchCluster extends SearchCluster
- implements
- DocumentdbInfoConfig.Producer,
- IndexInfoConfig.Producer,
- SchemaInfoConfig.Producer,
- IlscriptsConfig.Producer,
+public class IndexedSearchCluster extends SearchCluster implements
DispatchConfig.Producer,
- DispatchNodesConfig.Producer,
- ConfigInstance.Producer {
+ DispatchNodesConfig.Producer
+{
private Tuning tuning;
private SearchCoverage searchCoverage;
private final List<DocumentDatabase> documentDbs = new LinkedList<>();
- private final MultipleDocumentDatabasesConfigProducer documentDbsConfigProducer;
private final Redundancy.Provider redundancyProvider;
@@ -57,7 +51,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 +125,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,53 +209,36 @@ 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);
}
}
- @Override
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);
}
}
- @Override
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);