diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-13 14:52:40 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-13 15:33:00 +0100 |
commit | 3b1f0041a31b015b989ffb56a520939097b5fc22 (patch) | |
tree | a1410fb9c2f5ae4f6f35baa855fa8c0920f06d89 /jdisc_http_service | |
parent | b552a4ee99e256804829e062cd75280d5df3319c (diff) |
Add stop timeout to server config
Diffstat (limited to 'jdisc_http_service')
4 files changed, 9 insertions, 2 deletions
diff --git a/jdisc_http_service/abi-spec.json b/jdisc_http_service/abi-spec.json index 62093a8cf3c..04e6d22a445 100644 --- a/jdisc_http_service/abi-spec.json +++ b/jdisc_http_service/abi-spec.json @@ -538,6 +538,7 @@ "public com.yahoo.jdisc.http.ServerConfig$Builder filter(com.yahoo.jdisc.http.ServerConfig$Filter$Builder)", "public com.yahoo.jdisc.http.ServerConfig$Builder filter(java.util.List)", "public com.yahoo.jdisc.http.ServerConfig$Builder maxWorkerThreads(int)", + "public com.yahoo.jdisc.http.ServerConfig$Builder stopTimeout(double)", "public com.yahoo.jdisc.http.ServerConfig$Builder jmx(com.yahoo.jdisc.http.ServerConfig$Jmx$Builder)", "public final boolean dispatchGetConfig(com.yahoo.config.ConfigInstance$Producer)", "public final java.lang.String getDefMd5()", @@ -648,6 +649,7 @@ "public java.util.List filter()", "public com.yahoo.jdisc.http.ServerConfig$Filter filter(int)", "public int maxWorkerThreads()", + "public double stopTimeout()", "public com.yahoo.jdisc.http.ServerConfig$Jmx jmx()" ], "fields": [ diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java index 07d3d77dff2..60ef2f7122e 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java @@ -40,7 +40,6 @@ import org.osgi.framework.ServiceReference; import javax.management.remote.JMXServiceURL; import javax.servlet.DispatcherType; - import java.io.IOException; import java.lang.management.ManagementFactory; import java.net.BindException; @@ -141,6 +140,7 @@ public class JettyHttpServer extends AbstractServerProvider { initializeJettyLogging(); server = new Server(); + server.setStopTimeout((long)(serverConfig.stopTimeout() * 1000.0)); server.setRequestLog(new AccessLogRequestLog(accessLog)); setupJmx(server, serverConfig); ((QueuedThreadPool)server.getThreadPool()).setMaxThreads(serverConfig.maxWorkerThreads()); diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def index 30c74ed2c35..e5f954fc538 100644 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def @@ -28,7 +28,8 @@ reuseAddress bool default=true # The maximum idle time for a connection, which roughly translates to the Socket.setSoTimeout(int). idleTimeout double default=180.0 -# The stop timeout. +# The stop timeout in seconds (timeout for processing in-flight requests during server shutdown). +# Should usually match the stopTimeout in the server config. stopTimeout double default=30.0 # Whether or not to have socket keep alive turned on. diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def index a6cb43cee17..5cbbfdbbb33 100644 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def @@ -27,6 +27,10 @@ filter[].binding string # Max number of threads in pool maxWorkerThreads int default = 200 +# Stop timeout in seconds (timeout for processing in-flight requests during server shutdown). +# Should usually match the stopTimeout in the connector config. +stopTimeout double default = 30.0 + # Enable embedded JMX server. Note: only accessible through the loopback interface. jmx.enabled bool default = false |