aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
diff options
context:
space:
mode:
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);