From 65d4863e4dcd6e7e0034bc8213e5f861970fe48f Mon Sep 17 00:00:00 2001 From: ggivo Date: Mon, 27 Oct 2025 18:45:16 +0200 Subject: [PATCH 1/3] Add Redis 8.4 to test matrix (#4337) --- .github/workflows/test-on-docker.yml | 1 + Makefile | 2 +- src/test/resources/env/.env.v8.4 | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/env/.env.v8.4 diff --git a/.github/workflows/test-on-docker.yml b/.github/workflows/test-on-docker.yml index d9a0a362eb..40aa29b5da 100644 --- a/.github/workflows/test-on-docker.yml +++ b/.github/workflows/test-on-docker.yml @@ -38,6 +38,7 @@ jobs: fail-fast: false matrix: redis_version: + - "8.4" - "8.2" - "8.0" - "7.4" diff --git a/Makefile b/Makefile index 1c02a91dae..9a3910741a 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PATH := ./redis-git/src:${PATH} # Supported test env versions -SUPPORTED_TEST_ENV_VERSIONS := 8.2 8.0 7.4 7.2 6.2 +SUPPORTED_TEST_ENV_VERSIONS := 8.4 8.2 8.0 7.4 7.2 6.2 DEFAULT_TEST_ENV_VERSION := 8.2 REDIS_ENV_WORK_DIR := $(or ${REDIS_ENV_WORK_DIR},/tmp/redis-env-work) CLIENT_LIBS_TEST_IMAGE := redislabs/client-libs-test:8.2.2 diff --git a/src/test/resources/env/.env.v8.4 b/src/test/resources/env/.env.v8.4 new file mode 100644 index 0000000000..43d8b41423 --- /dev/null +++ b/src/test/resources/env/.env.v8.4 @@ -0,0 +1,8 @@ +REDIS_VERSION=8.4-RC1-pre +REDIS_STACK_VERSION=8.4-RC1-pre +CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test +REDIS_ENV_CONF_DIR=./ +REDIS_MODULES_DIR=/tmp +REDIS_ENV_WORK_DIR=/tmp/redis-env-work + +ENABLE_MODULE_COMMAND_DIRECTIVE=--enable-module-command yes \ No newline at end of file From a315c55f2d9ddb4864934441a001b14a041149fe Mon Sep 17 00:00:00 2001 From: ggivo Date: Tue, 28 Oct 2025 10:27:49 +0200 Subject: [PATCH 2/3] fix AggregationTest totalResults (#4337) --- .../java/io/redis/test/utils/RedisVersion.java | 1 + .../jedis/modules/search/AggregationTest.java | 15 ++++++++------- .../redis/clients/jedis/util/RedisConditions.java | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/test/java/io/redis/test/utils/RedisVersion.java b/src/test/java/io/redis/test/utils/RedisVersion.java index fa9ed8b427..bbaab9b4c0 100644 --- a/src/test/java/io/redis/test/utils/RedisVersion.java +++ b/src/test/java/io/redis/test/utils/RedisVersion.java @@ -7,6 +7,7 @@ public class RedisVersion implements Comparable { public static final RedisVersion V7_4 = RedisVersion.of("7.4"); public static final RedisVersion V8_0_0_PRE = RedisVersion.of("7.9.0"); public static final RedisVersion V8_0_0 = RedisVersion.of("8.0.0"); + public static final RedisVersion V8_4_0 = RedisVersion.of("8.4.0"); private final int major; private final int minor; diff --git a/src/test/java/redis/clients/jedis/modules/search/AggregationTest.java b/src/test/java/redis/clients/jedis/modules/search/AggregationTest.java index 78c18a449e..6424c20fe0 100644 --- a/src/test/java/redis/clients/jedis/modules/search/AggregationTest.java +++ b/src/test/java/redis/clients/jedis/modules/search/AggregationTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.fail; import static redis.clients.jedis.util.RedisConditions.ModuleVersion.SEARCH_MOD_VER_80M3; +import static redis.clients.jedis.util.RedisConditions.ModuleVersion.SEARCH_MOD_VER_84RC1; import io.redis.test.annotations.SinceRedisVersion; import io.redis.test.utils.RedisVersion; @@ -267,12 +268,7 @@ public void testApplyAndFilterAggregations() { sc.addSortableNumericField("subj1"); sc.addSortableNumericField("subj2"); client.ftCreate(index, IndexOptions.defaultOptions(), sc); -// client.addDocument(new Document("data1").set("name", "abc").set("subj1", 20).set("subj2", 70)); -// client.addDocument(new Document("data2").set("name", "def").set("subj1", 60).set("subj2", 40)); -// client.addDocument(new Document("data3").set("name", "ghi").set("subj1", 50).set("subj2", 80)); -// client.addDocument(new Document("data4").set("name", "abc").set("subj1", 30).set("subj2", 20)); -// client.addDocument(new Document("data5").set("name", "def").set("subj1", 65).set("subj2", 45)); -// client.addDocument(new Document("data6").set("name", "ghi").set("subj1", 70).set("subj2", 70)); + addDocument(new Document("data1").set("name", "abc").set("subj1", 20).set("subj2", 70)); addDocument(new Document("data2").set("name", "def").set("subj1", 60).set("subj2", 40)); addDocument(new Document("data3").set("name", "ghi").set("subj1", 50).set("subj2", 80)); @@ -287,7 +283,12 @@ public void testApplyAndFilterAggregations() { // actual search AggregationResult res = client.ftAggregate(index, r); - assertEquals(3, res.getTotalResults()); + + if (RedisConditions.of(client).moduleVersionIsGreaterThanOrEqual(SEARCH_MOD_VER_84RC1)) { + //prior to 8.4rc1, the returned total result was reported as 3 (number of results before filter), + // while 2 rows were actually returned + assertEquals(2, res.getTotalResults()); + } Row r1 = res.getRow(0); assertNotNull(r1); diff --git a/src/test/java/redis/clients/jedis/util/RedisConditions.java b/src/test/java/redis/clients/jedis/util/RedisConditions.java index f8c17f0771..dc363e55a8 100644 --- a/src/test/java/redis/clients/jedis/util/RedisConditions.java +++ b/src/test/java/redis/clients/jedis/util/RedisConditions.java @@ -20,7 +20,8 @@ public class RedisConditions { public enum ModuleVersion { - SEARCH_MOD_VER_80M3("SEARCH", 79903); + SEARCH_MOD_VER_80M3("SEARCH", 79903), + SEARCH_MOD_VER_84RC1("SEARCH", 80390); private final String moduleName; private final int version; From 14a2bb27951b63bda1690bd9047f2805a4240ce2 Mon Sep 17 00:00:00 2001 From: "aleksandar.todorov" Date: Mon, 3 Nov 2025 16:06:23 +0200 Subject: [PATCH 3/3] Bump to RC1 v2 --- src/test/resources/env/.env.v8.4 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/resources/env/.env.v8.4 b/src/test/resources/env/.env.v8.4 index 43d8b41423..a55b3b8838 100644 --- a/src/test/resources/env/.env.v8.4 +++ b/src/test/resources/env/.env.v8.4 @@ -1,8 +1,8 @@ -REDIS_VERSION=8.4-RC1-pre -REDIS_STACK_VERSION=8.4-RC1-pre +REDIS_VERSION=8.4-RC1-pre.2 +REDIS_STACK_VERSION=8.4-RC1-pre.2 CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test REDIS_ENV_CONF_DIR=./ REDIS_MODULES_DIR=/tmp REDIS_ENV_WORK_DIR=/tmp/redis-env-work -ENABLE_MODULE_COMMAND_DIRECTIVE=--enable-module-command yes \ No newline at end of file +ENABLE_MODULE_COMMAND_DIRECTIVE=--enable-module-command yes