From 4c79c89ca5798f38d547164d7194c64881a974a7 Mon Sep 17 00:00:00 2001 From: Edwin Kempin Date: Tue, 12 Mar 2013 15:36:32 +0100 Subject: [PATCH] Support cache.web_sessions.maxAge < 1 minute When reading cache.web_sessions.maxAge from gerrit.config we specify MINUTES as the wanted time unit, but then convert it into milliseconds. By doing this any value < 1 minute (e.g. '59s') is rounded by the conversion to 0 milliseconds. Fix this by specifying MILLISECONDS as wanted time unit so that no conversion is needed. Bug: issue 1821 Change-Id: Ie279ad8fa5ac5a40828c4e24e35d4a8312b810dd Signed-off-by: Edwin Kempin --- .../main/java/com/google/gerrit/httpd/WebSessionManager.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebSessionManager.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebSessionManager.java index ffa1371fc1..65910418a8 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebSessionManager.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebSessionManager.java @@ -24,7 +24,6 @@ import static com.google.gerrit.server.ioutil.BasicSerialization.writeString; import static com.google.gerrit.server.ioutil.BasicSerialization.writeVarInt32; import static java.util.concurrent.TimeUnit.HOURS; import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.concurrent.TimeUnit.MINUTES; import com.google.common.cache.Cache; import com.google.gerrit.reviewdb.client.Account; @@ -66,9 +65,9 @@ class WebSessionManager { prng = new SecureRandom(); self = cache; - sessionMaxAgeMillis = MINUTES.toMillis(ConfigUtil.getTimeUnit(cfg, + sessionMaxAgeMillis = ConfigUtil.getTimeUnit(cfg, "cache", CACHE_NAME, "maxAge", - MAX_AGE_MINUTES, MINUTES)); + MAX_AGE_MINUTES, MILLISECONDS); if (sessionMaxAgeMillis < TimeUnit.MINUTES.toMillis(5)) { log.warn(String.format( "cache.%s.maxAge is set to %d milliseconds;" +