summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java5
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java6
3 files changed, 14 insertions, 0 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 2fa3217ef4a..49e7ae39962 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
@@ -106,6 +106,9 @@ public interface ModelContext {
// TODO(bjorncs): Temporary feature flag, revisit July 2020
default Duration jdiscHealthCheckProxyClientTimeout() { return Duration.ofSeconds(1); }
+
+ // TODO(bjorncs): Temporary feature flag
+ default double feedCoreThreadPoolSizeFactor() { return 1.0; }
}
}
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 3a2bc9f1a81..bb86966640e 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
@@ -158,6 +158,7 @@ public class ModelContextImpl implements ModelContext {
private final Optional<AthenzDomain> athenzDomain;
private final Optional<ApplicationRoles> applicationRoles;
private final int jdiscHealthCheckProxyClientTimeout;
+ private final double feedCoreThreadPoolSizeFactor;
public Properties(ApplicationId applicationId,
boolean multitenantFromConfig,
@@ -204,6 +205,8 @@ public class ModelContextImpl implements ModelContext {
this.applicationRoles = applicationRoles;
jdiscHealthCheckProxyClientTimeout = Flags.JDISC_HEALTH_CHECK_PROXY_CLIENT_TIMEOUT.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
+ feedCoreThreadPoolSizeFactor = Flags.FEED_CORE_THREAD_POOL_SIZE_FACTOR.bindTo(flagSource)
+ .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
}
@Override
@@ -283,8 +286,10 @@ public class ModelContextImpl implements ModelContext {
}
@Override public Duration jdiscHealthCheckProxyClientTimeout() { return Duration.ofMillis(jdiscHealthCheckProxyClientTimeout); }
+
@Override public String jvmGCOptions() { return jvmGCOPtions; }
+ @Override public double feedCoreThreadPoolSizeFactor() { return feedCoreThreadPoolSizeFactor; }
}
}
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 74522f4c517..841cd590663 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -294,6 +294,12 @@ public class Flags {
ZONE_ID
);
+ public static final UnboundDoubleFlag FEED_CORE_THREAD_POOL_SIZE_FACTOR = defineDoubleFlag(
+ "feed-core-thread-pool-size-factor", 1.0,
+ "Number of core threads in threadpool for feeding APIs as factor of max pool size",
+ "Takes effect on next internal redeployment",
+ APPLICATION_ID);
+
/** WARNING: public for testing: All flags should be defined in {@link Flags}. */
public static UnboundBooleanFlag defineFeatureFlag(String flagId, boolean defaultValue, String description,
String modificationEffect, FetchVector.Dimension... dimensions) {