diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-28 14:53:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-28 14:53:16 +0200 |
commit | fe032406cb9b66c2ac8dae4f324393b4362744cf (patch) | |
tree | 77ec9a16958437a406b846404300ab75cdc41061 | |
parent | fff26a931fd5779c0d78324f21ec0be4d0907093 (diff) | |
parent | 5bc32778ddb7a69ff880710f49ae77b064160885 (diff) |
Merge pull request #24243 from vespa-engine/balder/gc-unused-enable-bitvector-flag
GC unused enable-bitvector flag
14 files changed, 21 insertions, 41 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index 6792a642d68..1e9958ac072 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -126,7 +126,7 @@ public interface ModelContext { @ModelFeatureFlag(owners = {"arnej"}) default boolean useQrserverServiceName() { return true; } @ModelFeatureFlag(owners = {"arnej"}) default boolean avoidRenamingSummaryFeatures() { return false; } @ModelFeatureFlag(owners = {"arnej"}) default boolean experimentalSdParsing() { return true; } // TODO: Remove after June 2022 - @ModelFeatureFlag(owners = {"baldersheim"}) default boolean enableBitVectors() { return false; } + @ModelFeatureFlag(owners = {"baldersheim"}, removeAfter="8.60") default boolean enableBitVectors() { return true; } @ModelFeatureFlag(owners = {"hmusum"}) default Architecture adminClusterArchitecture() { return Architecture.getDefault(); } @ModelFeatureFlag(owners = {"tokle"}) default boolean enableProxyProtocolMixedMode() { return true; } @ModelFeatureFlag(owners = {"arnej"}) default String logFileCompressionAlgorithm(String defVal) { return defVal; } 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 b7b54e749f9..f8dafd1082e 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,7 +77,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private boolean persistenceThrottlingOfMergeFeedOps = true; private boolean useV8GeoPositions = true; private List<String> environmentVariables = List.of(); - private boolean enableBitVectors = false; private boolean loadCodeAsHugePages = false; private boolean sharedStringRepoNoReclaim = false; private boolean useTwoPhaseDocumentGc = false; @@ -141,7 +140,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; } @Override public boolean useV8GeoPositions() { return useV8GeoPositions; } @Override public List<String> environmentVariables() { return environmentVariables; } - @Override public boolean enableBitVectors() { return this.enableBitVectors; } @Override public Architecture adminClusterArchitecture() { return adminClusterNodeResourcesArchitecture; } @Override public boolean sharedStringRepoNoReclaim() { return sharedStringRepoNoReclaim; } @Override public boolean loadCodeAsHugePages() { return loadCodeAsHugePages; } @@ -385,11 +383,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } - public TestProperties setEnableBitVectors(boolean value) { - this.enableBitVectors = value; - return this; - } - public TestProperties setMbusNetworkThreads(int value) { this.mbus_network_threads = value; return this; diff --git a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java index 505778ad047..567bd564eb5 100644 --- a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java +++ b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java @@ -183,7 +183,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, false); + getConfig(builder, FieldSet.ALL, 77777); } private boolean isAttributeInFieldSet(Attribute attribute, FieldSet fs) { @@ -277,12 +277,12 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce }; } - public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory, boolean enableBitVectors) { + public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory) { 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()) { + if (attribute.isFastSearch()) { attrBuilder.enablebitvectors(true); } builder.attribute(attrBuilder); 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 c6a5873a848..11bd14cbe46 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 @@ -40,7 +40,6 @@ 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. @@ -71,7 +70,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer { this.schema = schema; this.queryProfiles = deployState.getQueryProfiles().getRegistry(); this.maxUncommittedMemory = deployState.getProperties().featureFlags().maxUnCommittedMemory(); - this.enableBitVectors = deployState.getProperties().featureFlags().enableBitVectors(); if ( ! schema.isDocumentsOnly()) { streamingFields = new VsmFields(schema); streamingSummary = new VsmSummary(schema); @@ -157,7 +155,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer { } public void getConfig(AttributesConfig.Builder builder, AttributeFields.FieldSet fs) { - attributeFields.getConfig(builder, fs, maxUncommittedMemory, enableBitVectors); + attributeFields.getConfig(builder, fs, maxUncommittedMemory); } public IndexingScript getIndexingScript() { diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg index 5ebd25b7678..0b4e28f0cbf 100644 --- a/config-model/src/test/derived/advanced/attributes.cfg +++ b/config-model/src/test/derived/advanced/attributes.cfg @@ -13,7 +13,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg index 75e892fda7c..e24ed687b93 100644 --- a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg +++ b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg @@ -13,7 +13,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/derived/map_attribute/attributes.cfg b/config-model/src/test/derived/map_attribute/attributes.cfg index 2b62418480b..0cfcc75d3b3 100644 --- a/config-model/src/test/derived/map_attribute/attributes.cfg +++ b/config-model/src/test/derived/map_attribute/attributes.cfg @@ -13,7 +13,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg index 216967a93dc..7e6f7c282db 100644 --- a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg +++ b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg @@ -13,7 +13,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 @@ -133,7 +133,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/derived/multiplesummaries/attributes.cfg b/config-model/src/test/derived/multiplesummaries/attributes.cfg index bb323041c0a..448c1f4957a 100644 --- a/config-model/src/test/derived/multiplesummaries/attributes.cfg +++ b/config-model/src/test/derived/multiplesummaries/attributes.cfg @@ -133,7 +133,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg index fbef851b4af..f7cfbc5216c 100644 --- a/config-model/src/test/derived/types/attributes.cfg +++ b/config-model/src/test/derived/types/attributes.cfg @@ -313,7 +313,7 @@ attribute[].sortascending true attribute[].sortfunction UCA attribute[].sortstrength PRIMARY attribute[].sortlocale "" -attribute[].enablebitvectors false +attribute[].enablebitvectors true attribute[].enableonlybitvector false attribute[].fastaccess false attribute[].arity 8 diff --git a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java index 54fb6b0fb52..eb9daf02aad 100644 --- a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java @@ -216,7 +216,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase { void requireThatMutableConfigIsProperlyPropagated() throws ParseException { AttributeFields attributes = new AttributeFields(getSearchWithMutables()); AttributesConfig.Builder builder = new AttributesConfig.Builder(); - attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true); + attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333); AttributesConfig cfg = builder.build(); assertEquals("a", cfg.attribute().get(0).name()); assertFalse(cfg.attribute().get(0).ismutable()); @@ -232,7 +232,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase { void requireMaxUnCommittedMemoryIsProperlyPropagated() throws ParseException { AttributeFields attributes = new AttributeFields(getSearchWithMutables()); AttributesConfig.Builder builder = new AttributesConfig.Builder(); - attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true); + attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333); AttributesConfig cfg = builder.build(); assertEquals("a", cfg.attribute().get(0).name()); assertEquals(13333, cfg.attribute().get(0).maxuncommittedmemory()); @@ -244,13 +244,13 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase { assertEquals(13333, cfg.attribute().get(2).maxuncommittedmemory()); } - private void verifyEnableBitVectorDefault(Schema schema, boolean enableBitVectors) { + private void verifyEnableBitVectorDefault(Schema schema) { AttributeFields attributes = new AttributeFields(schema); AttributesConfig.Builder builder = new AttributesConfig.Builder(); - attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, enableBitVectors); + attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333); AttributesConfig cfg = builder.build(); assertEquals("a", cfg.attribute().get(0).name()); - assertEquals(enableBitVectors, cfg.attribute().get(0).enablebitvectors()); + assertTrue(cfg.attribute().get(0).enablebitvectors()); assertEquals("b", cfg.attribute().get(1).name()); assertFalse(cfg.attribute().get(1).enablebitvectors()); @@ -270,8 +270,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase { " }\n" + " }\n" + "}\n"); - verifyEnableBitVectorDefault(schema, false); - verifyEnableBitVectorDefault(schema, true); + verifyEnableBitVectorDefault(schema); } @Test diff --git a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java index ef1716c80e6..6277b0041df 100644 --- a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java @@ -24,7 +24,7 @@ public class DictionaryTestCase { private static AttributesConfig getConfig(Schema schema) { AttributeFields attributes = new AttributeFields(schema); AttributesConfig.Builder builder = new AttributesConfig.Builder(); - attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000, true); + attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000); return builder.build(); } private Schema createSearch(String def) throws ParseException { @@ -210,7 +210,7 @@ public class DictionaryTestCase { " }", "}"); try { - ApplicationBuilder sb = ApplicationBuilder.createFromString(def); + ApplicationBuilder.createFromString(def); fail("Controlling dictionary for non-numeric fields are not yet supported."); } catch (IllegalArgumentException e) { assertEquals("For schema 'test', field 'n1': You can only specify 'dictionary:' for numeric or string fields", e.getMessage()); @@ -229,7 +229,7 @@ public class DictionaryTestCase { " }", "}"); try { - ApplicationBuilder sb = ApplicationBuilder.createFromString(def); + ApplicationBuilder.createFromString(def); fail("Controlling dictionary for non-fast-search fields are not allowed."); } catch (IllegalArgumentException e) { assertEquals("For schema 'test', field 'n1': You must specify 'attribute:fast-search' to allow dictionary control", e.getMessage()); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java index 309a04af9e4..fcce7741750 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java @@ -205,7 +205,6 @@ public class ModelContextImpl implements ModelContext { private final boolean persistenceThrottlingOfMergeFeedOps; private final boolean useQrserverServiceName; private final boolean avoidRenamingSummaryFeatures; - private final boolean enableBitVectors; private final Architecture adminClusterArchitecture; private final boolean enableProxyProtocolMixedMode; private final boolean sharedStringRepoNoReclaim; @@ -266,7 +265,6 @@ public class ModelContextImpl implements ModelContext { this.persistenceThrottlingOfMergeFeedOps = flagValue(source, appId, version, Flags.PERSISTENCE_THROTTLING_OF_MERGE_FEED_OPS); this.useQrserverServiceName = flagValue(source, appId, version, Flags.USE_QRSERVER_SERVICE_NAME); this.avoidRenamingSummaryFeatures = flagValue(source, appId, version, Flags.AVOID_RENAMING_SUMMARY_FEATURES); - this.enableBitVectors = flagValue(source, appId, version, Flags.ENABLE_BIT_VECTORS); this.adminClusterArchitecture = Architecture.valueOf(flagValue(source, appId, version, PermanentFlags.ADMIN_CLUSTER_NODE_ARCHITECTURE)); this.enableProxyProtocolMixedMode = flagValue(source, appId, version, Flags.ENABLE_PROXY_PROTOCOL_MIXED_MODE); this.sharedStringRepoNoReclaim = flagValue(source, appId, version, Flags.SHARED_STRING_REPO_NO_RECLAIM); @@ -329,7 +327,6 @@ public class ModelContextImpl implements ModelContext { @Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; } @Override public boolean useQrserverServiceName() { return useQrserverServiceName; } @Override public boolean avoidRenamingSummaryFeatures() { return avoidRenamingSummaryFeatures; } - @Override public boolean enableBitVectors() { return this.enableBitVectors; } @Override public Architecture adminClusterArchitecture() { return adminClusterArchitecture; } @Override public boolean enableProxyProtocolMixedMode() { return enableProxyProtocolMixedMode; } @Override public boolean sharedStringRepoNoReclaim() { return sharedStringRepoNoReclaim; } diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index 2070f77cb1f..0e6e33bab69 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -395,13 +395,6 @@ public class Flags { "Takes effect at redeployment", ZONE_ID, APPLICATION_ID); - public static final UnboundBooleanFlag ENABLE_BIT_VECTORS = defineFeatureFlag( - "enable-bit-vectors", true, - List.of("baldersheim"), "2022-05-03", "2022-12-31", - "Enables bit vector by default for fast-search attributes", - "Takes effect at redeployment", - ZONE_ID, APPLICATION_ID); - public static final UnboundBooleanFlag NOTIFICATION_DISPATCH_FLAG = defineFeatureFlag( "dispatch-notifications", false, List.of("enygaard"), "2022-05-02", "2022-09-30", |