aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2022-06-30 17:10:38 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2022-06-30 17:10:38 +0200
commit70b1a91a7346a23a35545b44d3a9d5928a8e5464 (patch)
tree440d0769903411499350b9a28ae39871cc9555d0 /container-core
parentb2de969114c654efe9d2dbf24c0e59a89cc37f89 (diff)
Shutdown executor on doStop()
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HealthCheckProxyHandler.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HealthCheckProxyHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HealthCheckProxyHandler.java
index fe0d4c80743..9f3a70e3ec5 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HealthCheckProxyHandler.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HealthCheckProxyHandler.java
@@ -33,7 +33,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@@ -53,7 +53,7 @@ class HealthCheckProxyHandler extends HandlerWrapper {
private static final String HEALTH_CHECK_PATH = "/status.html";
- private final Executor executor = Executors.newSingleThreadExecutor(new DaemonThreadFactory("health-check-proxy-client-"));
+ private final ExecutorService executor = Executors.newSingleThreadExecutor(new DaemonThreadFactory("health-check-proxy-client-"));
private final Map<Integer, ProxyTarget> portToProxyTargetMapping;
HealthCheckProxyHandler(List<JDiscServerConnector> connectors) {
@@ -127,6 +127,10 @@ class HealthCheckProxyHandler extends HandlerWrapper {
@Override
protected void doStop() throws Exception {
+ executor.shutdown();
+ if (!executor.awaitTermination(10, TimeUnit.SECONDS)) {
+ log.warning("Failed to shutdown executor in time");
+ }
for (ProxyTarget target : portToProxyTargetMapping.values()) {
target.close();
}