aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-16 18:13:15 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-16 18:13:15 +0100
commit62b1e1a2481a0fa4287118000fdd068c41353fb2 (patch)
tree1a4420c0086743b9f6daa38de8301c53933d7ace /config-model
parentf9f2beb58bcd8467a05f8f17d8dcf431e88823d9 (diff)
Allow metrics-proxy to spend more time during shutdown
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/Container.java8
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();
}