diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-16 18:13:15 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-16 18:13:15 +0100 |
commit | 62b1e1a2481a0fa4287118000fdd068c41353fb2 (patch) | |
tree | 1a4420c0086743b9f6daa38de8301c53933d7ace /config-model | |
parent | f9f2beb58bcd8467a05f8f17d8dcf431e88823d9 (diff) |
Allow metrics-proxy to spend more time during shutdown
Diffstat (limited to 'config-model')
3 files changed, 14 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java index 12bce7a72a4..d69ddd1c5fd 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java @@ -24,6 +24,7 @@ import com.yahoo.vespa.model.PortAllocBridge; import com.yahoo.vespa.model.container.Container; import com.yahoo.vespa.model.container.component.AccessLogComponent; +import java.time.Duration; import java.util.LinkedHashMap; import java.util.Map; import java.util.Optional; @@ -196,4 +197,6 @@ public class MetricsProxyContainer extends Container implements return ""; } + @Override public Optional<String> getPreShutdownCommand() { return Optional.of(prepareStopCommand(Duration.ofMinutes(6))); } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java index 784902e2427..bc410670d5e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java @@ -12,11 +12,10 @@ import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.LogctlSpec; import com.yahoo.vespa.model.container.component.SimpleComponent; +import java.time.Duration; import java.util.List; import java.util.Optional; -import static com.yahoo.vespa.defaults.Defaults.getDefaults; - /** * A container that is typically used by container clusters set up from the user application. * @@ -95,11 +94,6 @@ public final class ApplicationContainer extends Container implements return featureFlags.jvmOmitStackTraceInFastThrowOption(ClusterSpec.Type.container); } - @Override - public Optional<String> getPreShutdownCommand() { - int preshutdownTimeoutSeconds = 360; - int rpcTimeoutSeconds = preshutdownTimeoutSeconds + 10; - String rpcParams = "-t " + rpcTimeoutSeconds + " tcp/localhost:" + getRpcPort() + " prepareStop d:" + preshutdownTimeoutSeconds; - return Optional.of(getDefaults().underVespaHome("bin/vespa-rpc-invoke") + " " + rpcParams); - } + @Override public Optional<String> getPreShutdownCommand() { return Optional.of(prepareStopCommand(Duration.ofMinutes(6))); } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java index 6a6f4583eae..be9f3fa894f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java @@ -29,6 +29,7 @@ import com.yahoo.vespa.model.container.http.Http; import com.yahoo.vespa.model.container.http.JettyHttpServer; import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer; +import java.time.Duration; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -38,6 +39,7 @@ import java.util.Optional; import static com.yahoo.container.QrConfig.Filedistributor; import static com.yahoo.container.QrConfig.Rpc; +import static com.yahoo.vespa.defaults.Defaults.getDefaults; /** * Note about components: In general, all components should belong to the cluster and not the container. However, @@ -387,6 +389,12 @@ public abstract class Container extends AbstractService implements return dimensions; } + protected String prepareStopCommand(Duration timeout) { + long rpcTimeoutSeconds = timeout.toSeconds() + 10; + String rpcParams = "-t " + rpcTimeoutSeconds + " tcp/localhost:" + getRpcPort() + " prepareStop d:" + timeout.toSeconds(); + return getDefaults().underVespaHome("bin/vespa-rpc-invoke") + " " + rpcParams; + } + private boolean messageBusEnabled() { return containerCluster().isPresent() && containerCluster().get().messageBusEnabled(); } |