aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-10-21 17:24:21 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-10-21 17:48:22 +0200
commite67760622daa2a26290a4d6f05f5ec73a9a827da (patch)
treee6d7ae4c9a51b6ded293cca19832630fdc41b60d /config-model/src/main/java
parent26607eb5cc541e36e9f77159fa68e29a21a2840b (diff)
Control attribute maxuncommittedmemory with feature flag
Diffstat (limited to 'config-model/src/main/java')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/AttributeFields.java13
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/DocumentDatabase.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/SearchCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/StreamingSearchCluster.java4
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