diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-04-20 18:13:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-20 18:13:08 +0200 |
commit | 1a719f9c5f5eebdd9502a3d813d1da15453c71e1 (patch) | |
tree | 73bfa31352889624aea45dfb1e4135ba825747c0 /config-model | |
parent | d852a539468eb3ea10549caa7238ba66ba60d586 (diff) | |
parent | d6fd192f0310d054aabf8131df4f4ee13f98f393 (diff) |
Merge pull request #22178 from vespa-engine/geirst/cleanup-dynamic-throttling-shared-field-writer-feature-flags
Cleanup use of dynamic throttling and shared field writer feature flags
Diffstat (limited to 'config-model')
7 files changed, 3 insertions, 199 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 8366dde383b..86f1a9eb9f4 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 @@ -42,9 +42,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private double defaultTermwiseLimit = 1.0; private String jvmGCOptions = null; private String sequencerType = "THROUGHPUT"; - private int feedTaskLimit = 1000; - private int feedMasterTaskLimit = 1000; - private String sharedFieldWriterExecutor = "NONE"; private boolean firstTimeDeployment = false; private String responseSequencerType = "ADAPTIVE"; private int responseNumThreads = 2; @@ -70,14 +67,12 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea private List<String> zoneDnsSuffixes = List.of(); private int maxCompactBuffers = 1; private boolean failDeploymentWithInvalidJvmOptions = false; - private String persistenceAsyncThrottling = "UNLIMITED"; private String mergeThrottlingPolicy = "STATIC"; private double persistenceThrottlingWsDecrementFactor = 1.2; private double persistenceThrottlingWsBackoff = 0.95; private int persistenceThrottlingWindowSize = -1; private double persistenceThrottlingWsResizeRate = 3.0; private boolean persistenceThrottlingOfMergeFeedOps = true; - private boolean inhibitDefaultMergesWhenGlobalMergesPending = false; private boolean useV8GeoPositions = false; private List<String> environmentVariables = List.of(); private boolean avoidRenamingSummaryFeatures = false; @@ -96,9 +91,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public Set<ContainerEndpoint> endpoints() { return endpoints; } @Override public String jvmGCOptions(Optional<ClusterSpec.Type> clusterType) { return jvmGCOptions; } @Override public String feedSequencerType() { return sequencerType; } - @Override public int feedTaskLimit() { return feedTaskLimit; } - @Override public int feedMasterTaskLimit() { return feedMasterTaskLimit; } - @Override public String sharedFieldWriterExecutor() { return sharedFieldWriterExecutor; } @Override public boolean isBootstrap() { return false; } @Override public boolean isFirstTimeDeployment() { return firstTimeDeployment; } @Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; } @@ -131,14 +123,12 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea @Override public List<String> zoneDnsSuffixes() { return zoneDnsSuffixes; } @Override public int maxCompactBuffers() { return maxCompactBuffers; } @Override public boolean failDeploymentWithInvalidJvmOptions() { return failDeploymentWithInvalidJvmOptions; } - @Override public String persistenceAsyncThrottling() { return persistenceAsyncThrottling; } @Override public String mergeThrottlingPolicy() { return mergeThrottlingPolicy; } @Override public double persistenceThrottlingWsDecrementFactor() { return persistenceThrottlingWsDecrementFactor; } @Override public double persistenceThrottlingWsBackoff() { return persistenceThrottlingWsBackoff; } @Override public int persistenceThrottlingWindowSize() { return persistenceThrottlingWindowSize; } @Override public double persistenceThrottlingWsResizeRate() { return persistenceThrottlingWsResizeRate; } @Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; } - @Override public boolean inhibitDefaultMergesWhenGlobalMergesPending() { return inhibitDefaultMergesWhenGlobalMergesPending; } @Override public boolean useV8GeoPositions() { return useV8GeoPositions; } @Override public List<String> environmentVariables() { return environmentVariables; } @Override public boolean avoidRenamingSummaryFeatures() { return this.avoidRenamingSummaryFeatures; } @@ -177,18 +167,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea sequencerType = type; return this; } - public TestProperties setFeedTaskLimit(int value) { - feedTaskLimit = value; - return this; - } - public TestProperties setFeedMasterTaskLimit(int value) { - feedMasterTaskLimit = value; - return this; - } - public TestProperties setSharedFieldWriterExecutor(String value) { - sharedFieldWriterExecutor = value; - return this; - } public TestProperties setResponseSequencerType(String type) { responseSequencerType = type; return this; @@ -326,11 +304,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } - public TestProperties setPersistenceAsyncThrottling(String type) { - this.persistenceAsyncThrottling = type; - return this; - } - public TestProperties setMergeThrottlingPolicy(String policy) { this.mergeThrottlingPolicy = policy; return this; @@ -361,11 +334,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea return this; } - public TestProperties inhibitDefaultMergesWhenGlobalMergesPending(boolean value) { - this.inhibitDefaultMergesWhenGlobalMergesPending = value; - return this; - } - public TestProperties setUseV8GeoPositions(boolean value) { this.useV8GeoPositions = value; return this; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index 9bd3b455ef9..b137c04b5c4 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -66,13 +66,9 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> private final Map<StorageGroup, NodeSpec> groupToSpecMap = new LinkedHashMap<>(); private Optional<ResourceLimits> resourceLimits = Optional.empty(); private final ProtonConfig.Indexing.Optimize.Enum feedSequencerType; - private final int feedTaskLimit; - private final int feedMasterTaskLimit; - private final ProtonConfig.Feeding.Shared_field_writer_executor.Enum sharedFieldWriterExecutor; private final double defaultFeedConcurrency; private final boolean forwardIssuesToQrs; private final int defaultMaxCompactBuffers; - private final ProtonConfig.Replay_throttling_policy.Type.Enum persistenceAsyncThrottling; /** Whether the nodes of this cluster also hosts a container cluster in a hosted system */ private final double fractionOfMemoryReserved; @@ -198,22 +194,6 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> } } - private static ProtonConfig.Feeding.Shared_field_writer_executor.Enum convertSharedFieldWriterExecutor(String value) { - try { - return ProtonConfig.Feeding.Shared_field_writer_executor.Enum.valueOf(value); - } catch (Throwable t) { - return ProtonConfig.Feeding.Shared_field_writer_executor.Enum.NONE; - } - } - - private static ProtonConfig.Replay_throttling_policy.Type.Enum convertPersistenceAsyncThrottling(String value) { - try { - return ProtonConfig.Replay_throttling_policy.Type.Enum.valueOf(value); - } catch (Throwable t) { - return ProtonConfig.Replay_throttling_policy.Type.Enum.UNLIMITED; - } - } - private ContentSearchCluster(AbstractConfigProducer<?> parent, String clusterName, ModelContext.FeatureFlags featureFlags, @@ -232,13 +212,9 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> this.fractionOfMemoryReserved = fractionOfMemoryReserved; this.feedSequencerType = convertFeedSequencerType(featureFlags.feedSequencerType()); - this.feedTaskLimit = featureFlags.feedTaskLimit(); - this.feedMasterTaskLimit = featureFlags.feedMasterTaskLimit(); - this.sharedFieldWriterExecutor = convertSharedFieldWriterExecutor(featureFlags.sharedFieldWriterExecutor()); this.defaultFeedConcurrency = featureFlags.feedConcurrency(); this.forwardIssuesToQrs = featureFlags.forwardIssuesAsErrors(); this.defaultMaxCompactBuffers = featureFlags.maxCompactBuffers(); - this.persistenceAsyncThrottling = convertPersistenceAsyncThrottling(featureFlags.persistenceAsyncThrottling()); } public void setVisibilityDelay(double delay) { @@ -452,10 +428,6 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> } builder.indexing.optimize(feedSequencerType); - builder.indexing.tasklimit(feedTaskLimit); - builder.feeding.master_task_limit(feedMasterTaskLimit); - builder.feeding.shared_field_writer_executor(sharedFieldWriterExecutor); - builder.replay_throttling_policy.type(persistenceAsyncThrottling); } private boolean isGloballyDistributed(NewDocumentType docType) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java index 3f01f5610f1..b8d2a4f91fe 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java @@ -43,7 +43,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl private final boolean useThreePhaseUpdates; private final int maxActivationInhibitedOutOfSyncGroups; private final boolean unorderedMergeChaining; - private final boolean inhibitDefaultMergesWhenGlobalMergesPending; public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<DistributorCluster> { @@ -107,12 +106,11 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl boolean useThreePhaseUpdates = deployState.getProperties().featureFlags().useThreePhaseUpdates(); int maxInhibitedGroups = deployState.getProperties().featureFlags().maxActivationInhibitedOutOfSyncGroups(); boolean unorderedMergeChaining = deployState.getProperties().featureFlags().unorderedMergeChaining(); - boolean inhibitDefaultMerges = deployState.getProperties().featureFlags().inhibitDefaultMergesWhenGlobalMergesPending(); return new DistributorCluster(parent, new BucketSplitting.Builder().build(new ModelElement(producerSpec)), gc, hasIndexedDocumentType, useThreePhaseUpdates, - maxInhibitedGroups, unorderedMergeChaining, inhibitDefaultMerges); + maxInhibitedGroups, unorderedMergeChaining); } } @@ -120,8 +118,7 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl GcOptions gc, boolean hasIndexedDocumentType, boolean useThreePhaseUpdates, int maxActivationInhibitedOutOfSyncGroups, - boolean unorderedMergeChaining, - boolean inhibitDefaultMergesWhenGlobalMergesPending) + boolean unorderedMergeChaining) { super(parent, "distributor"); this.parent = parent; @@ -131,7 +128,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl this.useThreePhaseUpdates = useThreePhaseUpdates; this.maxActivationInhibitedOutOfSyncGroups = maxActivationInhibitedOutOfSyncGroups; this.unorderedMergeChaining = unorderedMergeChaining; - this.inhibitDefaultMergesWhenGlobalMergesPending = inhibitDefaultMergesWhenGlobalMergesPending; } @Override @@ -146,7 +142,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl builder.enable_metadata_only_fetch_phase_for_inconsistent_updates(useThreePhaseUpdates); builder.max_activation_inhibited_out_of_sync_groups(maxActivationInhibitedOutOfSyncGroups); builder.use_unordered_merge_chaining(unorderedMergeChaining); - builder.inhibit_default_merges_when_global_merges_pending(inhibitDefaultMergesWhenGlobalMergesPending); bucketSplitting.getConfig(builder); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java index a1c4fc41d55..fb4016f4cf4 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java @@ -46,7 +46,6 @@ public class FileStorProducer implements StorFilestorConfig.Producer { private final ContentCluster cluster; private final int reponseNumThreads; private final StorFilestorConfig.Response_sequencer_type.Enum responseSequencerType; - private final StorFilestorConfig.Async_operation_throttler.Type.Enum asyncOperationThrottlerType; private final double persistenceThrottlingWsDecrementFactor; private final double persistenceThrottlingWsBackoff; private final int persistenceThrottingWindowSize; @@ -62,20 +61,11 @@ public class FileStorProducer implements StorFilestorConfig.Producer { } } - private static StorFilestorConfig.Async_operation_throttler.Type.Enum toAsyncOperationThrottlerType(String throttlerType) { - try { - return StorFilestorConfig.Async_operation_throttler.Type.Enum.valueOf(throttlerType); - } catch (Throwable t) { - return StorFilestorConfig.Async_operation_throttler.Type.UNLIMITED; - } - } - public FileStorProducer(ModelContext.FeatureFlags featureFlags, ContentCluster parent, Integer numThreads) { this.numThreads = numThreads; this.cluster = parent; this.reponseNumThreads = featureFlags.defaultNumResponseThreads(); this.responseSequencerType = convertResponseSequencerType(featureFlags.responseSequencerType()); - this.asyncOperationThrottlerType = toAsyncOperationThrottlerType(featureFlags.persistenceAsyncThrottling()); this.persistenceThrottlingWsDecrementFactor = featureFlags.persistenceThrottlingWsDecrementFactor(); this.persistenceThrottlingWsBackoff = featureFlags.persistenceThrottlingWsBackoff(); this.persistenceThrottingWindowSize = featureFlags.persistenceThrottlingWindowSize(); @@ -93,13 +83,7 @@ public class FileStorProducer implements StorFilestorConfig.Producer { builder.num_response_threads(reponseNumThreads); builder.response_sequencer_type(responseSequencerType); builder.use_async_message_handling_on_schedule(useAsyncMessageHandlingOnSchedule); - // TODO remove deprecated throttler type config - builder.async_operation_throttler_type((asyncOperationThrottlerType == StorFilestorConfig.Async_operation_throttler.Type.DYNAMIC) - ? StorFilestorConfig.Async_operation_throttler_type.Enum.DYNAMIC - : StorFilestorConfig.Async_operation_throttler_type.Enum.UNLIMITED); - var throttleBuilder = new StorFilestorConfig.Async_operation_throttler.Builder(); - throttleBuilder.type(asyncOperationThrottlerType); throttleBuilder.window_size_decrement_factor(persistenceThrottlingWsDecrementFactor); throttleBuilder.window_size_backoff(persistenceThrottlingWsBackoff); if (persistenceThrottingWindowSize > 0) { diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java index 7ef3594c844..90d1dba4e4a 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/ContentBuilderTest.java @@ -847,59 +847,6 @@ public class ContentBuilderTest extends DomBuilderTest { } - @Test - public void feed_task_limit_is_controlled_by_feature_flag() { - assertEquals(1000, resolveFeedTaskLimitConfigWithFeatureFlag(null)); - assertEquals(2000, resolveFeedTaskLimitConfigWithFeatureFlag(2000)); - } - - private int resolveFeedTaskLimitConfigWithFeatureFlag(Integer value) { - var props = new TestProperties(); - if (value != null) { - props.setFeedTaskLimit(value); - } - return resolveProtonConfig(props, singleNodeContentXml()).indexing().tasklimit(); - } - - @Test - public void feed_master_task_limit_is_controlled_by_feature_flag() { - assertEquals(1000, resolveFeedMasterTaskLimitConfigWithFeatureFlag(null)); - assertEquals(2000, resolveFeedMasterTaskLimitConfigWithFeatureFlag(2000)); - } - - private int resolveFeedMasterTaskLimitConfigWithFeatureFlag(Integer value) { - var props = new TestProperties(); - if (value != null) { - props.setFeedMasterTaskLimit(value); - } - return resolveProtonConfig(props, singleNodeContentXml()).feeding().master_task_limit(); - } - - @Test - public void shared_field_writer_executor_is_controlled_by_feature_flag() { - - assertEquals(Shared_field_writer_executor.Enum.NONE, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag(null)); - assertEquals(Shared_field_writer_executor.Enum.NONE, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag("NONE")); - assertEquals(Shared_field_writer_executor.Enum.INDEX, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag("INDEX")); - assertEquals(Shared_field_writer_executor.Enum.INDEX_AND_ATTRIBUTE, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag("INDEX_AND_ATTRIBUTE")); - assertEquals(Shared_field_writer_executor.Enum.DOCUMENT_DB, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag("DOCUMENT_DB")); - assertEquals(Shared_field_writer_executor.Enum.NONE, - resolveSharedFieldWriterExecutorConfigWithFeatureFlag("invalid")); - } - - private ProtonConfig.Feeding.Shared_field_writer_executor.Enum resolveSharedFieldWriterExecutorConfigWithFeatureFlag(String value) { - var props = new TestProperties(); - if (value != null) { - props.setSharedFieldWriterExecutor(value); - } - return resolveProtonConfig(props, singleNodeContentXml()).feeding().shared_field_writer_executor(); - } - private void verifyThatFeatureFlagControlsVisibilityDelayDefault(Double xmlOverride, double expected) { String hostedXml = xmlWithVisibilityDelay(xmlOverride); var config = resolveProtonConfig(new TestProperties(), hostedXml); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java index 9f571167d8c..10a2feaba5b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java @@ -1045,28 +1045,6 @@ public class ContentClusterTest extends ContentBaseTest { assertEquals(7, resolveMaxCompactBuffers(OptionalInt.of(7))); } - private ProtonConfig.Replay_throttling_policy.Type.Enum resolveReplayThrottlePolicyType(Optional<String> throttlerType) { - TestProperties testProperties = new TestProperties(); - if (throttlerType.isPresent()) { - testProperties.setPersistenceAsyncThrottling(throttlerType.get()); - } - VespaModel model = createEnd2EndOneNode(testProperties); - ContentCluster cc = model.getContentClusters().get("storage"); - ProtonConfig.Builder protonBuilder = new ProtonConfig.Builder(); - cc.getSearch().getConfig(protonBuilder); - ProtonConfig protonConfig = new ProtonConfig(protonBuilder); - assertEquals(1, protonConfig.documentdb().size()); - return protonConfig.replay_throttling_policy().type(); - } - - @Test - public void replay_throttling_policy_type_controlled_by_properties() { - assertEquals(ProtonConfig.Replay_throttling_policy.Type.Enum.UNLIMITED, resolveReplayThrottlePolicyType(Optional.empty())); - assertEquals(ProtonConfig.Replay_throttling_policy.Type.Enum.UNLIMITED, resolveReplayThrottlePolicyType(Optional.of("UNLIMITED"))); - assertEquals(ProtonConfig.Replay_throttling_policy.Type.Enum.UNLIMITED, resolveReplayThrottlePolicyType(Optional.of("INVALID"))); - assertEquals(ProtonConfig.Replay_throttling_policy.Type.Enum.DYNAMIC, resolveReplayThrottlePolicyType(Optional.of("DYNAMIC"))); - } - private long resolveMaxTLSSize(Optional<Flavor> flavor) throws Exception { TestProperties testProperties = new TestProperties(); @@ -1159,24 +1137,6 @@ public class ContentClusterTest extends ContentBaseTest { } @Test - public void inhibit_default_merges_when_global_merges_pending_controlled_by_properties() throws Exception { - assertFalse(resolveInhibitDefaultMergesConfig(Optional.empty())); - assertFalse(resolveInhibitDefaultMergesConfig(Optional.of(false))); - assertTrue(resolveInhibitDefaultMergesConfig(Optional.of(true))); - } - - private boolean resolveInhibitDefaultMergesConfig(Optional<Boolean> inhibitDefaultMerges) throws Exception { - var props = new TestProperties(); - if (inhibitDefaultMerges.isPresent()) { - props.inhibitDefaultMergesWhenGlobalMergesPending(inhibitDefaultMerges.get()); - } - var cluster = createOneNodeCluster(props); - var builder = new StorDistributormanagerConfig.Builder(); - cluster.getDistributorNodes().getConfig(builder); - return (new StorDistributormanagerConfig(builder)).inhibit_default_merges_when_global_merges_pending(); - } - - @Test public void testDedicatedClusterControllers() { VespaModel noContentModel = createEnd2EndOneNode(new TestProperties().setHostedVespa(true) .setMultitenant(true), diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java index ebc94e1f481..8908ab9f5b9 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java @@ -307,31 +307,9 @@ public class StorageClusterTest { } @Test - public void persistence_async_throttle_config_defaults_to_unlimited() { - var config = filestorConfigFromProducer(simpleCluster(new TestProperties())); - assertEquals(StorFilestorConfig.Async_operation_throttler_type.UNLIMITED, config.async_operation_throttler_type()); // TODO remove - assertEquals(StorFilestorConfig.Async_operation_throttler.Type.UNLIMITED, config.async_operation_throttler().type()); - } - - @Test - public void persistence_async_throttle_config_is_derived_from_flag() { - var config = filestorConfigFromProducer(simpleCluster(new TestProperties().setPersistenceAsyncThrottling("UNLIMITED"))); - assertEquals(StorFilestorConfig.Async_operation_throttler_type.UNLIMITED, config.async_operation_throttler_type()); // TODO remove - assertEquals(StorFilestorConfig.Async_operation_throttler.Type.UNLIMITED, config.async_operation_throttler().type()); - - config = filestorConfigFromProducer(simpleCluster(new TestProperties().setPersistenceAsyncThrottling("DYNAMIC"))); - assertEquals(StorFilestorConfig.Async_operation_throttler_type.DYNAMIC, config.async_operation_throttler_type()); // TODO remove - assertEquals(StorFilestorConfig.Async_operation_throttler.Type.DYNAMIC, config.async_operation_throttler().type()); - - // Invalid enum values fall back to the default - config = filestorConfigFromProducer(simpleCluster(new TestProperties().setPersistenceAsyncThrottling("BANANAS"))); - assertEquals(StorFilestorConfig.Async_operation_throttler_type.UNLIMITED, config.async_operation_throttler_type()); // TODO remove - assertEquals(StorFilestorConfig.Async_operation_throttler.Type.UNLIMITED, config.async_operation_throttler().type()); - } - - @Test public void persistence_dynamic_throttling_parameters_have_sane_defaults() { var config = filestorConfigFromProducer(simpleCluster(new TestProperties())); + assertEquals(StorFilestorConfig.Async_operation_throttler.Type.DYNAMIC, config.async_operation_throttler().type()); assertEquals(1.2, config.async_operation_throttler().window_size_decrement_factor(), 0.0001); assertEquals(0.95, config.async_operation_throttler().window_size_backoff(), 0.0001); assertEquals(20, config.async_operation_throttler().min_window_size()); |