From ac94c2c0c4dbcda4a6641ad16d9ece20258a10f4 Mon Sep 17 00:00:00 2001 From: Sebastiano Pilla Date: Thu, 1 Jun 2017 00:07:45 +0200 Subject: Adds the server.httpTimeout setting to allow cloning big repositories over HTTP. This change fixes the java.util.concurrent.TimeoutException issue described in https://groups.google.com/d/topic/gitblit/UvDC48NpmF4/discussion . --- src/main/distrib/data/defaults.properties | 7 +++++++ src/main/java/com/gitblit/GitBlitServer.java | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties index 51fa1253..e2530640 100644 --- a/src/main/distrib/data/defaults.properties +++ b/src/main/distrib/data/defaults.properties @@ -2134,6 +2134,13 @@ server.requireClientCertificates = false # RESTART REQUIRED server.shutdownPort = 8081 +# Timeout (in milliseconds) for http and https requests +# Increase this value if you get java.util.concurrent.TimeoutException errors +# +# SINCE 1.9.0 +# RESTART REQUIRED +server.httpTimeout = 30000 + # # Gitblit Filestore Settings # diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java index 6123a872..731ca8e5 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java @@ -293,7 +293,7 @@ public class GitBlitServer { ServerConnector connector = new ServerConnector(server, factory); connector.setSoLingerTime(-1); - connector.setIdleTimeout(30000); + connector.setIdleTimeout(settings.getLong(Keys.server.httpTimeout, 30000L)); connector.setPort(params.securePort); String bindInterface = settings.getString(Keys.server.httpsBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { @@ -330,7 +330,7 @@ public class GitBlitServer { ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig)); connector.setSoLingerTime(-1); - connector.setIdleTimeout(30000); + connector.setIdleTimeout(settings.getLong(Keys.server.httpTimeout, 30000L)); connector.setPort(params.port); String bindInterface = settings.getString(Keys.server.httpBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { @@ -608,4 +608,4 @@ public class GitBlitServer { public String ldapLdifFile; } -} \ No newline at end of file +} -- cgit v1.2.3 From 203748f479d06b284518b160e8196df61666235a Mon Sep 17 00:00:00 2001 From: Sebastiano Pilla Date: Sat, 3 Jun 2017 14:25:01 +0200 Subject: Rename the setting to httpIdleTimeout --- src/main/distrib/data/defaults.properties | 4 ++-- src/main/java/com/gitblit/GitBlitServer.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties index e2530640..9c597903 100644 --- a/src/main/distrib/data/defaults.properties +++ b/src/main/distrib/data/defaults.properties @@ -2134,12 +2134,12 @@ server.requireClientCertificates = false # RESTART REQUIRED server.shutdownPort = 8081 -# Timeout (in milliseconds) for http and https requests +# Http idle Timeout (in milliseconds) for http and https requests # Increase this value if you get java.util.concurrent.TimeoutException errors # # SINCE 1.9.0 # RESTART REQUIRED -server.httpTimeout = 30000 +server.httpIdleTimeout = 30000 # # Gitblit Filestore Settings diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java index 731ca8e5..acdc2c26 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java @@ -293,7 +293,7 @@ public class GitBlitServer { ServerConnector connector = new ServerConnector(server, factory); connector.setSoLingerTime(-1); - connector.setIdleTimeout(settings.getLong(Keys.server.httpTimeout, 30000L)); + connector.setIdleTimeout(settings.getLong(Keys.server.httpIdleTimeout, 30000L)); connector.setPort(params.securePort); String bindInterface = settings.getString(Keys.server.httpsBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { @@ -330,7 +330,7 @@ public class GitBlitServer { ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig)); connector.setSoLingerTime(-1); - connector.setIdleTimeout(settings.getLong(Keys.server.httpTimeout, 30000L)); + connector.setIdleTimeout(settings.getLong(Keys.server.httpIdleTimeout, 30000L)); connector.setPort(params.port); String bindInterface = settings.getString(Keys.server.httpBindInterface, null); if (!StringUtils.isEmpty(bindInterface)) { -- cgit v1.2.3