diff --git a/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch b/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch index e83bf1d9cd49..9bf0bf91dd63 100644 --- a/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch +++ b/geode-apis-compatible-with-redis/src/acceptanceTest/resources/0001-configure-redis-tests.patch @@ -162,33 +162,17 @@ index de24eabed..aeeb1da7f 100644 test {PERSIST returns 0 against non existing or non volatile keys} { r set x foo -@@ -149,44 +149,44 @@ start_server {tags {"expire"}} { -- test {Redis should actively expire keys incrementally} { -- r flushdb -- r psetex key1 500 a -- r psetex key2 500 a -- r psetex key3 500 a -- set size1 [r dbsize] -- # Redis expires random keys ten times every second so we are -- # fairly sure that all the three keys should be evicted after +@@ -154,39 +154,39 @@ start_server {tags {"expire"}} { + set size1 [r dbsize] + # Redis expires random keys ten times every second so we are + # fairly sure that all the three keys should be evicted after - # one second. - after 1000 -- set size2 [r dbsize] -- list $size1 $size2 -- } {3 0} -+# test {Redis should actively expire keys incrementally} { -+# r flushdb -+# r psetex key1 500 a -+# r psetex key2 500 a -+# r psetex key3 500 a -+# set size1 [r dbsize] -+# # Redis expires random keys ten times every second so we are -+# # fairly sure that all the three keys should be evicted after -+# # one second. -+# after 1000 -+# set size2 [r dbsize] -+# list $size1 $size2 -+# } {3 0} ++ # two seconds. ++ after 2000 + set size2 [r dbsize] + list $size1 $size2 + } {3 0} - test {Redis should lazy expire keys} { - r flushdb diff --git a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/GeodeServerRunTest.java b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/GeodeServerRunTest.java index 639c8f36653e..1ba35a1bdf72 100755 --- a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/GeodeServerRunTest.java +++ b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/GeodeServerRunTest.java @@ -30,10 +30,9 @@ public class GeodeServerRunTest { @Test @Ignore("This is a no-op test to conveniently run redis api for geode server for local development/testing purposes") - public void runGeodeServer() throws InterruptedException { + public void runGeodeServer() { LogService.getLogger().warn("Server running on port: " + server.getPort()); while (true) { - Thread.sleep(1000); } } } diff --git a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/server/AbstractHitsMissesIntegrationTest.java b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/server/AbstractHitsMissesIntegrationTest.java index eead4062d8e5..1e9a29fc5175 100644 --- a/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/server/AbstractHitsMissesIntegrationTest.java +++ b/geode-apis-compatible-with-redis/src/integrationTest/java/org/apache/geode/redis/internal/executor/server/AbstractHitsMissesIntegrationTest.java @@ -31,7 +31,6 @@ import redis.clients.jedis.BitOP; import redis.clients.jedis.Jedis; -import org.apache.geode.redis.internal.PassiveExpirationManager; import org.apache.geode.test.awaitility.GeodeAwaitility; import org.apache.geode.test.dunit.rules.RedisPortSupplier; @@ -170,8 +169,7 @@ public void testExpire() { public void testPassiveExpiration() { runCommandAndAssertNoStatUpdates("hash", (k) -> { jedis.expire(k, 1); - GeodeAwaitility.await().atMost(Duration.ofMinutes(PassiveExpirationManager.INTERVAL * 2)) - .until(() -> jedis.keys("hash").isEmpty()); + GeodeAwaitility.await().during(Duration.ofSeconds(3)).until(() -> true); }); } diff --git a/geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java b/geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java index 37a0ef3453e4..c5edd81aa0c8 100644 --- a/geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java +++ b/geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/PassiveExpirationManager.java @@ -16,7 +16,7 @@ package org.apache.geode.redis.internal; -import static java.util.concurrent.TimeUnit.MINUTES; +import static java.util.concurrent.TimeUnit.SECONDS; import static org.apache.geode.logging.internal.executors.LoggingExecutors.newSingleThreadScheduledExecutor; import java.util.Map; @@ -24,7 +24,6 @@ import org.apache.logging.log4j.Logger; -import org.apache.geode.annotations.VisibleForTesting; import org.apache.geode.cache.CacheClosedException; import org.apache.geode.cache.EntryDestroyedException; import org.apache.geode.cache.Region; @@ -43,15 +42,15 @@ public class PassiveExpirationManager { private final ScheduledExecutorService expirationExecutor; private final RedisStats redisStats; - @VisibleForTesting - public static final int INTERVAL = 3; public PassiveExpirationManager(Region dataRegion, RedisStats redisStats) { this.dataRegion = dataRegion; this.redisStats = redisStats; expirationExecutor = newSingleThreadScheduledExecutor("GemFireRedis-PassiveExpiration-"); + int INTERVAL = 1; expirationExecutor.scheduleWithFixedDelay(() -> doDataExpiration(dataRegion), INTERVAL, - INTERVAL, MINUTES); + INTERVAL, + SECONDS); } public void stop() {