diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-21 17:24:21 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-10-21 17:48:22 +0200 |
commit | e67760622daa2a26290a4d6f05f5ec73a9a827da (patch) | |
tree | e6d7ae4c9a51b6ded293cca19832630fdc41b60d /config-model/src/main/java | |
parent | 26607eb5cc541e36e9f77159fa68e29a21a2840b (diff) |
Control attribute maxuncommittedmemory with feature flag
Diffstat (limited to 'config-model/src/main/java')
6 files changed, 34 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java index 68f7b0cc4ec..7a09a36c1d7 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java @@ -67,6 +67,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private double containerShutdownTimeout = 50.0; private int distributorMergeBusyWait = 10; private int docstoreCompressionLevel = 9; + private int maxUnCommittedMemory = 123456; private double diskBloatFactor = 0.2; private boolean distributorEnhancedMaintenanceScheduling = false; @@ -118,6 +119,12 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public double diskBloatFactor() { return diskBloatFactor; } @Override public int docstoreCompressionLevel() { return docstoreCompressionLevel; } @Override public boolean distributorEnhancedMaintenanceScheduling() { return distributorEnhancedMaintenanceScheduling; } + @Override public int maxUnCommittedMemory() { return maxUnCommittedMemory; } + + public TestProperties maxUnCommittedMemory(int maxUnCommittedMemory) { + this.maxUnCommittedMemory = maxUnCommittedMemory; + return this; + } public TestProperties docstoreCompressionLevel(int docstoreCompressionLevel) { this.docstoreCompressionLevel = docstoreCompressionLevel; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java index 67ed37800f9..2890f1cc019 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java @@ -190,7 +190,8 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce @Override public void getConfig(AttributesConfig.Builder builder) { - getConfig(builder, FieldSet.ALL); + //TODO This is just to get some exporting tests to work, Should be undone and removed + getConfig(builder, FieldSet.ALL, 77777); } private boolean isAttributeInFieldSet(Attribute attribute, FieldSet fs) { @@ -295,15 +296,19 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce return AttributesConfig.Attribute.Match.UNCASED; } - public void getConfig(AttributesConfig.Builder builder, FieldSet fs) { + public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory) { for (Attribute attribute : attributes.values()) { if (isAttributeInFieldSet(attribute, fs)) { - builder.attribute(getConfig(attribute.getName(), attribute, false)); + AttributesConfig.Attribute.Builder attrBuilder = getConfig(attribute.getName(), attribute, false); + attrBuilder.maxuncommittedmemory(maxUnCommittedMemory); + builder.attribute(attrBuilder); } } if (fs == FieldSet.ALL) { for (Map.Entry<String, Attribute> entry : importedAttributes.entrySet()) { - builder.attribute(getConfig(entry.getKey(), entry.getValue(), true)); + AttributesConfig.Attribute.Builder attrBuilder = getConfig(entry.getKey(), entry.getValue(), true); + attrBuilder.maxuncommittedmemory(maxUnCommittedMemory); + builder.attribute(attrBuilder); } } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java index 54e9a4ccb61..6165cdd2dc1 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java @@ -16,6 +16,7 @@ import com.yahoo.search.query.profile.QueryProfileRegistry; import com.yahoo.searchdefinition.RankProfileRegistry; import com.yahoo.searchdefinition.Schema; import com.yahoo.searchdefinition.derived.validation.Validation; +import com.yahoo.vespa.config.search.AttributesConfig; import com.yahoo.vespa.model.container.search.QueryProfiles; import java.io.IOException; @@ -28,7 +29,7 @@ import java.util.concurrent.ExecutorService; * * @author bratseth */ -public class DerivedConfiguration { +public class DerivedConfiguration implements AttributesConfig.Producer { private final Schema schema; private Summaries summaries; @@ -43,6 +44,7 @@ public class DerivedConfiguration { private IndexSchema indexSchema; private ImportedFields importedFields; private final QueryProfileRegistry queryProfiles; + private final long maxUncommittedMemory; /** * Creates a complete derived configuration from a search definition. @@ -82,6 +84,7 @@ public class DerivedConfiguration { Validator.ensureNotNull("Search definition", schema); this.schema = schema; this.queryProfiles = queryProfiles; + this.maxUncommittedMemory = deployProperties.featureFlags().maxUnCommittedMemory(); if ( ! schema.isDocumentsOnly()) { streamingFields = new VsmFields(schema); streamingSummary = new VsmSummary(schema); @@ -159,6 +162,15 @@ public class DerivedConfiguration { return attributeFields; } + @Override + public void getConfig(AttributesConfig.Builder builder) { + getConfig(builder, AttributeFields.FieldSet.ALL); + } + + public void getConfig(AttributesConfig.Builder builder, AttributeFields.FieldSet fs) { + attributeFields.getConfig(builder, fs, maxUncommittedMemory); + } + public IndexingScript getIndexingScript() { return indexingScript; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java b/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java index ea445068cb9..cb4cc3e712c 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.search; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.search.config.IndexInfoConfig; import com.yahoo.searchdefinition.derived.DerivedConfiguration; @@ -68,7 +69,7 @@ public class DocumentDatabase extends AbstractConfigProducer<DocumentDatabase> i @Override public void getConfig(AttributesConfig.Builder builder) { - derivedCfg.getAttributeFields().getConfig(builder); + derivedCfg.getConfig(builder); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java index 321aae5acde..b128f391e72 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java @@ -55,7 +55,7 @@ public abstract class SearchCluster extends AbstractSearchCluster @Override public void getConfig(AttributesConfig.Builder builder) { - if (getSdConfig()!=null) getSdConfig().getAttributeFields().getConfig(builder); + if (getSdConfig()!=null) getSdConfig().getConfig(builder); } @Override 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 a9f9102c11a..7b328acdc98 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 @@ -38,7 +38,7 @@ public class StreamingSearchCluster extends SearchCluster implements @Override public void getConfig(AttributesConfig.Builder builder) { if (getSdConfig() != null) { - getSdConfig().getAttributeFields().getConfig(builder, AttributeFields.FieldSet.FAST_ACCESS); + getSdConfig().getConfig(builder, AttributeFields.FieldSet.FAST_ACCESS); } } } @@ -111,7 +111,7 @@ public class StreamingSearchCluster extends SearchCluster implements @Override public void getConfig(AttributesConfig.Builder builder) { - if (getSdConfig()!=null) getSdConfig().getAttributeFields().getConfig(builder); + if (getSdConfig()!=null) getSdConfig().getConfig(builder); } @Override |