aboutsummaryrefslogtreecommitdiffstats
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
parentdfdf2879e722f5932ee952450347cc4aa6ee0b3f (diff)
parent94d01c8e7945c446687aaf486217d39d2cd75fe7 (diff)
Merge pull request #30472 from vespa-engine/balder/no-need-to-be-a-producer
Simplify MultipleDocumentDatabasesConfigProducer according to doc.
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java1
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java1
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java5
-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.java44
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java13
6 files changed, 23 insertions, 56 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java b/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java
index 2327615cbe4..539447b41e9 100644
--- a/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java
+++ b/config-model/src/main/java/com/yahoo/config/model/producer/AnyConfigProducer.java
@@ -30,7 +30,6 @@ import java.util.logging.Logger;
public abstract class AnyConfigProducer
implements ConfigProducer, ConfigInstance.Producer, Serializable {
- private static final long serialVersionUID = 1L;
public static final Logger log = Logger.getLogger(AnyConfigProducer.class.getPackage().toString());
private final String subId;
private String configId = null;
diff --git a/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java b/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java
index 094a43696cc..b10bd29aee2 100644
--- a/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java
+++ b/config-model/src/main/java/com/yahoo/config/model/producer/TreeConfigProducer.java
@@ -23,7 +23,6 @@ import java.util.Map;
public abstract class TreeConfigProducer<CHILD extends AnyConfigProducer>
extends AnyConfigProducer
{
- private static final long serialVersionUID = 1L;
private final List<Service> descendantServices = new ArrayList<>();
private final FreezableMap<String, CHILD> childrenBySubId = new FreezableMap<>(LinkedHashMap.class);
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
index 575b7264628..bc1c097ea4b 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
@@ -24,7 +24,7 @@ import java.io.Writer;
*
* @author bratseth
*/
-public class DerivedConfiguration implements AttributesConfig.Producer {
+public class DerivedConfiguration {
private final Schema schema;
private Summaries summaries;
@@ -74,8 +74,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
if (!schema.isDocumentsOnly()) {
streamingFields = new VsmFields(schema);
streamingSummary = new VsmSummary(schema);
- }
- if (!schema.isDocumentsOnly()) {
attributeFields = new AttributeFields(schema);
summaries = new Summaries(schema, deployState.getDeployLogger(), deployState.getProperties().featureFlags());
juniperrc = new Juniperrc(schema);
@@ -154,7 +152,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
return attributeFields;
}
- @Override
public void getConfig(AttributesConfig.Builder builder) {
getConfig(builder, AttributeFields.FieldSet.ALL);
}
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..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);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
index f3ae7e2a312..90f74af868b 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java
@@ -29,14 +29,14 @@ import java.util.List;
* @author vegardh
*/
public class StreamingSearchCluster extends SearchCluster implements
- DocumentdbInfoConfig.Producer,
RankProfilesConfig.Producer,
RankingConstantsConfig.Producer,
RankingExpressionsConfig.Producer,
OnnxModelsConfig.Producer,
VsmsummaryConfig.Producer,
VsmfieldsConfig.Producer,
- SummaryConfig.Producer {
+ SummaryConfig.Producer
+{
private final String storageRouteSpec;
private final AttributesProducer attributesConfig;
@@ -129,20 +129,17 @@ public class StreamingSearchCluster extends SearchCluster implements
@Override
public void getConfig(VsmsummaryConfig.Builder builder) {
- if (derivedConfig.getVsmSummary() != null)
- derivedConfig.getVsmSummary().getConfig(builder);
+ derivedConfig.getVsmSummary().getConfig(builder);
}
@Override
public void getConfig(VsmfieldsConfig.Builder builder) {
- if (derivedConfig.getVsmFields() != null)
- derivedConfig.getVsmFields().getConfig(builder);
+ derivedConfig.getVsmFields().getConfig(builder);
}
@Override
public void getConfig(SummaryConfig.Builder builder) {
- if (derivedConfig.getSummaries() != null)
- derivedConfig.getSummaries().getConfig(builder);
+ derivedConfig.getSummaries().getConfig(builder);
}
private class AttributesProducer extends AnyConfigProducer implements AttributesConfig.Producer {