diff options
3 files changed, 16 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 2bea79fa0a7..3741a4fa76a 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 @@ -13,6 +13,7 @@ import com.yahoo.config.provision.Zone; import java.io.File; import java.net.URI; +import java.time.Duration; import java.util.List; import java.util.Optional; import java.util.Set; @@ -95,6 +96,9 @@ public interface ModelContext { default boolean useDedicatedNodesWhenUnspecified() { return true; } Optional<ApplicationRoles> applicationRoles(); + + // TODO(bjorncs): Temporary feature flag, revisit July 2020 + default Duration jdiscHealthCheckProxyClientTimeout() { return Duration.ofSeconds(1); } } } 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 e4a52f6c3b8..0255bdb43fd 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 @@ -25,6 +25,7 @@ import com.yahoo.vespa.flags.Flags; import java.io.File; import java.net.URI; +import java.time.Duration; import java.util.List; import java.util.Optional; import java.util.Set; @@ -156,6 +157,7 @@ public class ModelContextImpl implements ModelContext { private final double queueSizefactor; private final Optional<AthenzDomain> athenzDomain; private final Optional<ApplicationRoles> applicationRoles; + private final int jdiscHealthCheckProxyClientTimeout; public Properties(ApplicationId applicationId, boolean multitenantFromConfig, @@ -200,6 +202,8 @@ public class ModelContextImpl implements ModelContext { .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value(); this.athenzDomain = athenzDomain; this.applicationRoles = applicationRoles; + jdiscHealthCheckProxyClientTimeout = Flags.JDISC_HEALTH_CHECK_PROXY_CLIENT_TIMEOUT.bindTo(flagSource) + .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value(); } @Override @@ -281,6 +285,8 @@ public class ModelContextImpl implements ModelContext { public Optional<ApplicationRoles> applicationRoles() { return applicationRoles; } + + @Override public Duration jdiscHealthCheckProxyClientTimeout() { return Duration.ofMillis(jdiscHealthCheckProxyClientTimeout); } } } 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 d8d726cfb36..f2c08811053 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -277,6 +277,12 @@ public class Flags { APPLICATION_ID ); + public static final UnboundIntFlag JDISC_HEALTH_CHECK_PROXY_CLIENT_TIMEOUT = defineIntFlag( + "jdisc-health-check-proxy-client-timeout", 1000, + "Temporary flag to rollout reduced timeout for JDisc's health check proxy client. Timeout in milliseconds", + "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) { |