diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-03-04 17:06:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-04 17:06:13 +0100 |
commit | ac065ac8784bb5e62de0db75ffa6436a389c8b31 (patch) | |
tree | b4aad277dcbf41c6b1bcddc05c94e99cb6ca1caf /config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java | |
parent | dfdf2879e722f5932ee952450347cc4aa6ee0b3f (diff) | |
parent | 94d01c8e7945c446687aaf486217d39d2cd75fe7 (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.java | 44 |
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); |