summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2022-02-23 16:51:53 +0100
committerTor Brede Vekterli <vekterli@yahooinc.com>2022-02-23 16:51:53 +0100
commitc4cb61ae2b5b32be6d157a866d132f86e7087ea0 (patch)
tree0634f10406e5b9d1ef3f198e250ee50d96bcbf8f /configserver
parentd015e7a9ef5f6e528fa8bb74949d46c4e9b2dcbc (diff)
Add more feature flags for tuning dynamic persistence throttling
Adds the following feature flags: * `persistence-throttling-window-size` for setting min/max window size to the same value, effectively creating a static throttle policy. * `persistence-throttling-ws-resize-rate` for controlling the rate at which the dynamic throttle policy resizes its window.
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java6
1 files changed, 6 insertions, 0 deletions
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 38245f26a18..9cd4b37133f 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
@@ -203,6 +203,8 @@ public class ModelContextImpl implements ModelContext {
private final String mergeThrottlingPolicy;
private final double persistenceThrottlingWsDecrementFactor;
private final double persistenceThrottlingWsBackoff;
+ private final int persistenceThrottlingWindowSize;
+ private final double persistenceThrottlingWsResizeRate;
private final boolean inhibitDefaultMergesWhenGlobalMergesPending;
private final boolean useQrserverServiceName;
private final boolean avoidRenamingSummaryFeatures;
@@ -247,6 +249,8 @@ public class ModelContextImpl implements ModelContext {
this.mergeThrottlingPolicy = flagValue(source, appId, Flags.MERGE_THROTTLING_POLICY);
this.persistenceThrottlingWsDecrementFactor = flagValue(source, appId, Flags.PERSISTENCE_THROTTLING_WS_DECREMENT_FACTOR);
this.persistenceThrottlingWsBackoff = flagValue(source, appId, Flags.PERSISTENCE_THROTTLING_WS_BACKOFF);
+ this.persistenceThrottlingWindowSize = flagValue(source, appId, Flags.PERSISTENCE_THROTTLING_WINDOW_SIZE);
+ this.persistenceThrottlingWsResizeRate = flagValue(source, appId, Flags.PERSISTENCE_THROTTLING_WS_RESIZE_RATE);
this.inhibitDefaultMergesWhenGlobalMergesPending = flagValue(source, appId, Flags.INHIBIT_DEFAULT_MERGES_WHEN_GLOBAL_MERGES_PENDING);
this.useQrserverServiceName = flagValue(source, appId, Flags.USE_QRSERVER_SERVICE_NAME);
this.avoidRenamingSummaryFeatures = flagValue(source, appId, Flags.AVOID_RENAMING_SUMMARY_FEATURES);
@@ -293,6 +297,8 @@ public class ModelContextImpl implements ModelContext {
@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 inhibitDefaultMergesWhenGlobalMergesPending() { return inhibitDefaultMergesWhenGlobalMergesPending; }
@Override public boolean useQrserverServiceName() { return useQrserverServiceName; }
@Override public boolean avoidRenamingSummaryFeatures() { return avoidRenamingSummaryFeatures; }