From f1b5a43c0b9ec05c1c61d115b449541b6ed7e1b5 Mon Sep 17 00:00:00 2001 From: David Dougherty Date: Mon, 23 Dec 2024 06:31:54 -0800 Subject: [PATCH] DEV+RS: hash field limitation in RediSearch v2.10 (#986) * DEV+RS: hash field limitation in RediSearch v2.10 * Corrections * DOC-4670 Copy HFE known limitation to RS 7.8.x release notes * DOC-4670 Updated HFE known limitation wording in RS 7.8.x release notes --------- Co-authored-by: Rachel Elledge --- .../release-notes/redisearch/redisearch-2.10-release-notes.md | 1 + .../release-notes/redisstack/redisstack-7.4-release-notes.md | 4 ++++ content/operate/rs/release-notes/rs-7-8-releases/_index.md | 4 ++++ .../operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-34.md | 4 ++++ .../operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-60.md | 4 ++++ 5 files changed, 17 insertions(+) diff --git a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md index 386067de8..7ede4a9f7 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md @@ -84,4 +84,5 @@ Improvements (since 2.10.4): - The version inside Redis will be 2.10.5 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a Release Candidate flag. - Minimal Redis version: 7.4 - If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.8 (v2.8.2 onwards) +- If one or more fields of a hash key expire after a query begins (using FT.SEARCH or FT.AGGREGATE), Redis does not account for these lazily expired fields. As a result, keys with expired fields may still be included in the query results, leading to potentially incorrect or inconsistent results. {{< /note >}} diff --git a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisstack/redisstack-7.4-release-notes.md b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisstack/redisstack-7.4-release-notes.md index 69bb28a6a..3c0131f60 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisstack/redisstack-7.4-release-notes.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/release-notes/redisstack/redisstack-7.4-release-notes.md @@ -89,6 +89,10 @@ There are many additional improvements, including new command arguments, securit - Developers can now match `TAG` fields without needing to escape special characters, making the onboarding process and use of the query syntax simpler. - Geospatial search capabilities have been expanded with new `INTERSECT` and `DISJOINT` operators, and ergonomics have been improved by providing better reporting of the memory consumed by the index and exposing the Full-text scoring in the aggregation pipeline. +{{< warning >}} +If one or more fields of a hash key expire after a query begins (using FT.SEARCH or FT.AGGREGATE), Redis does not account for these lazily expired fields. As a result, keys with expired fields may still be included in the query results, leading to potentially incorrect or inconsistent results. +{{< /warning >}} + **Removal of triggers and functions** Redis Stack 7.4 will no longer include triggers and functions. To ensure a seamless upgrade, remove any T&F functions created before loading an RDB file into the new Redis Stack. diff --git a/content/operate/rs/release-notes/rs-7-8-releases/_index.md b/content/operate/rs/release-notes/rs-7-8-releases/_index.md index c402e7e15..cd84ca07a 100644 --- a/content/operate/rs/release-notes/rs-7-8-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-8-releases/_index.md @@ -246,3 +246,7 @@ The following legacy UI features are not yet available in the new Cluster Manage #### RedisGraph prevents upgrade to RHEL 9 You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Software cluster contains a RedisGraph module, even if unused by any database. The [RedisGraph module has reached end-of-life](https://redis.com/blog/redisgraph-eol/) and is completely unavailable in RHEL 9. + +#### Query results might include hash keys with lazily expired fields + +If one or more fields of a hash key expire after an `FT.SEARCH` or `FT.AGGREGATE` query begins, Redis does not account for these lazily expired fields. As a result, keys with expired fields might still be included in the query results, leading to potentially incorrect or inconsistent results. diff --git a/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-34.md b/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-34.md index 2e92bea7f..64b004919 100644 --- a/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-34.md +++ b/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-34.md @@ -423,6 +423,10 @@ The following legacy UI features are not yet available in the new Cluster Manage You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Software cluster contains a RedisGraph module, even if unused by any database. The [RedisGraph module has reached End-of-Life](https://redis.com/blog/redisgraph-eol/) and is completely unavailable in RHEL 9. +#### Query results might include hash keys with lazily expired fields + +If one or more fields of a hash key expire after an `FT.SEARCH` or `FT.AGGREGATE` query begins, Redis does not account for these lazily expired fields. As a result, keys with expired fields might still be included in the query results, leading to potentially incorrect or inconsistent results. + ## Security #### Open source Redis security fixes compatibility diff --git a/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-60.md b/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-60.md index 3a7fa49f9..36c7c339a 100644 --- a/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-60.md +++ b/content/operate/rs/release-notes/rs-7-8-releases/rs-7-8-2-60.md @@ -117,6 +117,10 @@ The following legacy UI features are not yet available in the new Cluster Manage You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Software cluster contains a RedisGraph module, even if unused by any database. The [RedisGraph module has reached End-of-Life](https://redis.com/blog/redisgraph-eol/) and is completely unavailable in RHEL 9. +#### Query results might include hash keys with lazily expired fields + +If one or more fields of a hash key expire after an `FT.SEARCH` or `FT.AGGREGATE` query begins, Redis does not account for these lazily expired fields. As a result, keys with expired fields might still be included in the query results, leading to potentially incorrect or inconsistent results. + ## Security #### Open source Redis security fixes compatibility