diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/InternalCache.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/InternalCache.java index 6c62dae..58ac9a1 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/InternalCache.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/InternalCache.java @@ -64,7 +64,7 @@ public class InternalCache { long fixedReference = System.currentTimeMillis(); for (Iterator> it = map.entrySet().iterator(); it.hasNext(); ) { Map.Entry entry = it.next(); - if (entry.getValue().expiry > fixedReference) + if (entry.getValue().expiry <= fixedReference) it.remove(); } } diff --git a/src/test/java/com/imaginarycode/minecraft/redisbungee/test/InternalCacheTest.java b/src/test/java/com/imaginarycode/minecraft/redisbungee/test/InternalCacheTest.java index bd32e11..d9444eb 100644 --- a/src/test/java/com/imaginarycode/minecraft/redisbungee/test/InternalCacheTest.java +++ b/src/test/java/com/imaginarycode/minecraft/redisbungee/test/InternalCacheTest.java @@ -97,7 +97,19 @@ public class InternalCacheTest { } })); try { - Thread.sleep(20); + Thread.sleep(5); + } catch (InterruptedException e) { + throw new AssertionError(e); + } + cache.cleanup(); + Assert.assertEquals(one, cache.get("hi", new Callable() { + @Override + public Object call() throws Exception { + return two; + } + })); + try { + Thread.sleep(5); } catch (InterruptedException e) { throw new AssertionError(e); }