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 .
diff --git a/src/main/distrib/data/defaults.properties b/src/main/distrib/data/defaults.properties index 51fa125..e253064 100644 --- a/src/main/distrib/data/defaults.properties +++ b/src/main/distrib/data/defaults.properties
@@ -2134,6 +2134,13 @@ # 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 6123a87..731ca8e 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java
@@ -293,7 +293,7 @@ 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 @@ 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 String ldapLdifFile; } -} \ No newline at end of file +}