Merge branch 'stable-2.15'
* stable-2.15:
RestForwarder: Tidy up debug logging
JGroupsPeerInfoProvider: Adjust javadoc and log output
Compile against 2.15-rc1
JGroupsPeerInfoProvider: Fix broken log formatting
Improve the debug log when RestForwarder fails
Change-Id: Id16c39f2000b885c139606f046c658bbf4da6ee8
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
index ca5e841..79ac382 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
@@ -19,6 +19,7 @@
import com.google.common.cache.CacheStats;
import com.google.common.collect.ImmutableMap;
import com.google.gerrit.common.Nullable;
+import com.google.gerrit.common.TimeUtil;
import com.google.gerrit.httpd.WebSessionManager;
import com.google.gerrit.httpd.WebSessionManager.Val;
import com.google.inject.Inject;
@@ -32,6 +33,7 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -41,7 +43,6 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutionException;
-import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -74,8 +75,8 @@
for (Path path : listFiles()) {
Val val = readFile(path);
if (val != null) {
- DateTime expires = new DateTime(val.getExpiresAt());
- if (expires.isBefore(new DateTime())) {
+ Instant expires = Instant.ofEpochMilli(val.getExpiresAt());
+ if (expires.isBefore(Instant.ofEpochMilli(TimeUtil.nowMs()))) {
deleteFile(path);
}
}
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebSessionCacheTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebSessionCacheTest.java
index a13575a..d4be877 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebSessionCacheTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebSessionCacheTest.java
@@ -18,20 +18,23 @@
import com.google.common.collect.ImmutableMap;
import com.google.gerrit.httpd.WebSessionManager.Val;
+import com.google.gerrit.testutil.TestTimeUtil;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
+import java.sql.Timestamp;
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
-import org.joda.time.DateTime;
-import org.joda.time.DateTimeUtils;
+import java.util.concurrent.TimeUnit;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -78,17 +81,19 @@
loadKeyToCacheDir(EXISTING_KEY);
try {
long existingKeyExpireAt = cache.getIfPresent(EXISTING_KEY).getExpiresAt();
- DateTimeUtils.setCurrentMillisFixed(
- new DateTime(existingKeyExpireAt).minusHours(1).getMillis());
+ TestTimeUtil.resetWithClockStep(1, TimeUnit.SECONDS);
+ TestTimeUtil.setClock(
+ new Timestamp(
+ Instant.ofEpochMilli(existingKeyExpireAt).minus(1, ChronoUnit.HOURS).toEpochMilli()));
cache.cleanUp();
assertThat(isDirEmpty(websessionDir)).isFalse();
-
- DateTimeUtils.setCurrentMillisFixed(
- new DateTime(existingKeyExpireAt).plusHours(1).getMillis());
+ TestTimeUtil.setClock(
+ new Timestamp(
+ Instant.ofEpochMilli(existingKeyExpireAt).plus(1, ChronoUnit.HOURS).toEpochMilli()));
cache.cleanUp();
assertThat(isDirEmpty(websessionDir)).isTrue();
} finally {
- DateTimeUtils.setCurrentMillisSystem();
+ TestTimeUtil.useSystemTime();
}
}