summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-07-01 15:18:38 +0200
committerHarald Musum <musum@verizonmedia.com>2021-07-01 15:18:38 +0200
commit81a2dafda8b20a4eb6dcf65290af50171f7c9724 (patch)
tree5f1755e2d3d01aef829583469fe9bdf9e3a69e09 /configserver
parent606a9a60504c27f5d44709a085be829ff379268b (diff)
Add feature flags for disk and memory resource limits
Used when finding out when to block feed
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 5662fb15890..0149a1a7be8 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
@@ -183,6 +183,8 @@ public class ModelContextImpl implements ModelContext {
private final int largeRankExpressionLimit;
private final boolean throwIfResourceLimitsSpecified;
private final boolean dryRunOnnxOnSetup;
+ private final double resourceLimitDisk;
+ private final double resourceLimitMemory;
public FeatureFlags(FlagSource source, ApplicationId appId) {
this.dedicatedClusterControllerFlavor = parseDedicatedClusterControllerFlavor(flagValue(source, appId, Flags.DEDICATED_CLUSTER_CONTROLLER_FLAVOR));
@@ -211,6 +213,8 @@ public class ModelContextImpl implements ModelContext {
this.maxMergeQueueSize = flagValue(source, appId, Flags.MAX_MERGE_QUEUE_SIZE);
this.throwIfResourceLimitsSpecified = flagValue(source, appId, Flags.THROW_EXCEPTION_IF_RESOURCE_LIMITS_SPECIFIED);
this.dryRunOnnxOnSetup = flagValue(source, appId, Flags.DRY_RUN_ONNX_ON_SETUP);
+ this.resourceLimitDisk = flagValue(source, appId, PermanentFlags.RESOURCE_LIMIT_DISK);
+ this.resourceLimitMemory = flagValue(source, appId, PermanentFlags.RESOURCE_LIMIT_MEMORY);
}
@Override public Optional<NodeResources> dedicatedClusterControllerFlavor() { return Optional.ofNullable(dedicatedClusterControllerFlavor); }
@@ -241,6 +245,8 @@ public class ModelContextImpl implements ModelContext {
@Override public int maxMergeQueueSize() { return maxMergeQueueSize; }
@Override public boolean throwIfResourceLimitsSpecified() { return throwIfResourceLimitsSpecified; }
@Override public boolean dryRunOnnxOnSetup() { return dryRunOnnxOnSetup; }
+ @Override public double resourceLimitDisk() { return resourceLimitDisk; }
+ @Override public double resourceLimitMemory() { return resourceLimitMemory; }
private static <V> V flagValue(FlagSource source, ApplicationId appId, UnboundFlag<? extends V, ?, ?> flag) {
return flag.bindTo(source)