diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-05-03 11:28:03 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-05-03 11:28:03 +0200 |
commit | 1d23e9f803dca6fbb91bfe4972863cd2ce557dac (patch) | |
tree | b2df772d37a36a8809b7dfe9b39141602c4c08e2 /config-model/src/main | |
parent | b942ed39f4d06cf714d62235978399910753a5b9 (diff) |
Control enable-bit-vectors default value.
Diffstat (limited to 'config-model/src/main')
3 files changed, 17 insertions, 8 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 4ef9c8b366c..9e94949c89b 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 @@ -77,6 +77,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private List<String> environmentVariables = List.of(); private boolean avoidRenamingSummaryFeatures = true; private boolean experimentalSdParsing = true; + private boolean enableBitVectors = true; private Architecture adminClusterNodeResourcesArchitecture = Architecture.getDefault(); @Override public ModelContext.FeatureFlags featureFlags() { return this; } @@ -133,6 +134,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public List<String> environmentVariables() { return environmentVariables; } @Override public boolean avoidRenamingSummaryFeatures() { return this.avoidRenamingSummaryFeatures; } @Override public boolean experimentalSdParsing() { return this.experimentalSdParsing; } + @Override public boolean enableBitVectors() { return this.enableBitVectors; } @Override public Architecture adminClusterArchitecture() { return adminClusterNodeResourcesArchitecture; } public TestProperties maxUnCommittedMemory(int maxUnCommittedMemory) { @@ -354,6 +356,11 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } + public TestProperties setEnableBitVectors(boolean value) { + this.enableBitVectors = value; + return this; + } + public TestProperties setAdminClusterNodeResourcesArchitecture(Architecture architecture) { this.adminClusterNodeResourcesArchitecture = architecture; return this; 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 30cb0d9c07d..cd10263b0ff 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 @@ -2,7 +2,6 @@ package com.yahoo.searchdefinition.derived; import com.yahoo.config.subscription.ConfigInstanceUtil; -import com.yahoo.document.DataType; import com.yahoo.searchdefinition.Schema; import com.yahoo.searchdefinition.document.Attribute; import com.yahoo.searchdefinition.document.Case; @@ -196,7 +195,7 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce @Override public void getConfig(AttributesConfig.Builder builder) { //TODO This is just to get some exporting tests to work, Should be undone and removed - getConfig(builder, FieldSet.ALL, 77777); + getConfig(builder, FieldSet.ALL, 77777, false); } private boolean isAttributeInFieldSet(Attribute attribute, FieldSet fs) { @@ -302,11 +301,14 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce return AttributesConfig.Attribute.Match.UNCASED; } - public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory) { + public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory, boolean enableBitVectors) { for (Attribute attribute : attributes.values()) { if (isAttributeInFieldSet(attribute, fs)) { AttributesConfig.Attribute.Builder attrBuilder = getConfig(attribute.getName(), attribute, false); attrBuilder.maxuncommittedmemory(maxUnCommittedMemory); + if (enableBitVectors && attribute.isFastSearch()) { + attrBuilder.enablebitvectors(true); + } 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 48bc972f7ef..77d742c63e9 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 @@ -46,6 +46,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer { private ImportedFields importedFields; private final QueryProfileRegistry queryProfiles; private final long maxUncommittedMemory; + private final boolean enableBitVectors; /** * Creates a complete derived configuration from a search definition. @@ -86,6 +87,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer { this.schema = schema; this.queryProfiles = queryProfiles; this.maxUncommittedMemory = deployProperties.featureFlags().maxUnCommittedMemory(); + this.enableBitVectors = deployProperties.featureFlags().enableBitVectors(); if ( ! schema.isDocumentsOnly()) { streamingFields = new VsmFields(schema); streamingSummary = new VsmSummary(schema); @@ -145,10 +147,8 @@ public class DerivedConfiguration implements AttributesConfig.Producer { Writer writer = null; try { writer = IOUtils.createWriter(fileName, false); - if (writer != null) { - writer.write(instance.toString()); - writer.write("\n"); - } + writer.write(instance.toString()); + writer.write("\n"); } finally { if (writer != null) { IOUtils.closeWriter(writer); @@ -170,7 +170,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer { } public void getConfig(AttributesConfig.Builder builder, AttributeFields.FieldSet fs) { - attributeFields.getConfig(builder, fs, maxUncommittedMemory); + attributeFields.getConfig(builder, fs, maxUncommittedMemory, enableBitVectors); } public IndexingScript getIndexingScript() { |