From bd1ba7e5df85c1277d468e474f5618fe313dcd56 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 3 Mar 2025 15:57:22 -0500 Subject: [PATCH 01/85] DOC-4927 Created placeholders for RS April release notes --- .../release-notes/rs-7-22-releases/_index.md | 120 ++++++++ .../rs-7-22-releases/rs-7-22-x-tba.md | 261 ++++++++++++++++++ 2 files changed, 381 insertions(+) create mode 100644 content/operate/rs/release-notes/rs-7-22-releases/_index.md create mode 100644 content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md new file mode 100644 index 000000000..05e163558 --- /dev/null +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -0,0 +1,120 @@ +--- +Title: Redis Enterprise Software release notes 7.22.x +alwaysopen: false +categories: +- docs +- operate +- rs +compatibleOSSVersion: Redis 7.4.0 +description: New pricing and packaging. TBA +hideListLinks: true +linkTitle: 7.22.x releases +toc: 'true' +weight: 68 +--- + +​[​Redis Enterprise Software version 7.22](https://redis.io/downloads/#software) is now available! + +## Highlights + +This version offers: + +- New pricing and packaging + +- TBA + +## Detailed release notes + +For more detailed release notes, select a build version from the following table: + +{{}} + +## Version changes + +### Breaking changes + +- TBA + +### Product lifecycle updates + +- TBA + +### Deprecations + +#### API deprecations + +- TBA + +#### V1 Prometheus metrics deprecation + + V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [Prometheus v1 metrics and equivalent v2 PromQL]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. + +### Upcoming changes + +- TBA + +### Supported platforms + +The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the [supported platforms reference]({{< relref "/operate/rs/references/supported-platforms" >}}) for more details about operating system compatibility. + + Supported – The platform is supported for this version of Redis Enterprise Software and Redis Stack modules. + +:warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release. + +| Redis Software
major versions | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | +| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | +| **Platforms** | | | | | | +| RHEL 9 &
compatible distros[1](#table-note-1) | | | – | – | – | +| RHEL 9
FIPS mode[5](#table-note-5) | | – | – | – | – | +| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | +| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | :warning: | | | +| Ubuntu 22.04[2](#table-note-2) | | – | – | – | – | +| Ubuntu 20.04[2](#table-note-2) | | | | | – | +| Ubuntu 18.04[2](#table-note-2) | – | :warning: | :warning: | | | +| Ubuntu 16.04[2](#table-note-2) | – | – | :warning: | | | +| Amazon Linux 2 | | | | | – | +| Amazon Linux 1 | – | – | | | | +| Kubernetes[3](#table-note-3) | | | | | | +| Docker[4](#table-note-4) | | | | | | + +1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported. + +2. The server version of Ubuntu is recommended for production installations. The desktop version is only recommended for development deployments. + +3. See the [Redis Enterprise for Kubernetes documentation]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) for details about support per version and Kubernetes distribution. + +4. [Docker images]({{< relref "/operate/rs/installing-upgrading/quickstarts/docker-quickstart" >}}) of Redis Enterprise Software are certified for development and testing only. + +5. Supported only if [FIPS was enabled during RHEL installation](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/switching-rhel-to-fips-mode_security-hardening#proc_installing-the-system-with-fips-mode-enabled_switching-rhel-to-fips-mode) to ensure FIPS compliance. + +## Known issues + +- RS131972: Creating an ACL that contains a line break in the Cluster Manager UI can cause shard migration to fail due to ACL errors. + +## Known limitations + +#### Upload modules before OS upgrade + +If the cluster contains any databases that use modules, you must upload module packages for the target OS version to a node in the existing cluster before you upgrade the cluster's operating system. + +See [Upgrade a cluster's operating system]({{}}) for detailed upgrade instructions. + +#### New Cluster Manager UI limitations + +The following legacy UI features are not yet available in the new Cluster Manager UI: + +- Purge an Active-Active instance. + + Use [`crdb-cli crdb purge-instance`]({{< relref "/operate/rs/references/cli-utilities/crdb-cli/crdb/purge-instance" >}}) instead. + +- Search and export the log. + +#### RedisGraph prevents upgrade to RHEL 9 + +You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise 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-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md new file mode 100644 index 000000000..c4d304e8b --- /dev/null +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -0,0 +1,261 @@ +--- +Title: Redis Enterprise Software release notes 7.22.x-tba (April 2025) +alwaysopen: false +categories: +- docs +- operate +- rs +compatibleOSSVersion: Redis 7.4.0 +description: New pricing and packaging. TBA +linkTitle: 7.22.x-tba (April 2025) +weight: 90 +--- + +​[​Redis Enterprise Software version 7.22.x](https://redis.io/downloads/#software) is now available! + +## Highlights + +This version offers: + +- New pricing and packaging + +- TBA + +## New in this release + +### New features + +- New pricing and packaging + +- TBA + +### Enhancements + +- New Cluster Manager UI enhancements: + + - TBA + +- Reserved the following ports: + + | Port | Process name | Usage | + |------|--------------|-------| + | TBA | | | + +### Redis database versions + +Redis Enterprise Software version 7.22.x includes three Redis database versions: 7.4, 7.2, and 6.2. + +The [default Redis database version]({{}}) is 7.4. + +### Redis module feature sets + +Redis Enterprise Software comes packaged with several modules. As of version 7.22.x, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. + +The following table shows which Redis modules are compatible with each Redis database version included in this release. + +| Redis database version | Compatible Redis modules | +|------------------------|--------------------------| +| 7.4 | [RediSearch 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})
[RedisJSON 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes.md" >}})
[RedisTimeSeries 1.12]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes.md" >}})
[RedisBloom 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes.md" >}}) | +| 7.2 | [RediSearch 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})
[RedisJSON 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes.md" >}})
[RedisTimeSeries 1.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes.md" >}})
[RedisBloom 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes.md" >}}) | +| 6.2 | [RediSearch 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[RedisJSON 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes.md" >}})
[RedisTimeSeries 1.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes.md" >}})
[RedisBloom 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes.md" >}})
[RedisGraph v2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes.md" >}})[1](#module-note-1) | + +1. RedisGraph end-of-life has been announced and will be removed in a future release. See the [RedisGraph end-of-life announcement](https://redis.io/blog/redisgraph-eol/) for more details. + +### Resolved issues + +- TBA + +## Version changes + +### Breaking changes + +- TBA + +### Product lifecycle updates + +- TBA + +### Deprecations + +#### API deprecations + +- TBA + +#### V1 Prometheus metrics deprecation + + V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [Prometheus v1 metrics and equivalent v2 PromQL]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. + +### Upcoming changes + +- TBA + +### Supported platforms + +The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the [supported platforms reference]({{< relref "/operate/rs/references/supported-platforms" >}}) for more details about operating system compatibility. + + Supported – The platform is supported for this version of Redis Enterprise Software and Redis Stack modules. + +:warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release. + +| Redis Software
major versions | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | +| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | +| **Platforms** | | | | | | +| RHEL 9 &
compatible distros[1](#table-note-1) | | | – | – | – | +| RHEL 9
FIPS mode[5](#table-note-5) | | – | – | – | – | +| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | +| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | :warning: | | | +| Ubuntu 20.04[2](#table-note-2) | | | | | – | +| Ubuntu 18.04[2](#table-note-2) | – | :warning: | :warning: | | | +| Ubuntu 16.04[2](#table-note-2) | – | – | :warning: | | | +| Amazon Linux 2 | | | | | – | +| Amazon Linux 1 | – | – | | | | +| Kubernetes[3](#table-note-3) | | | | | | +| Docker[4](#table-note-4) | | | | | | + +1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported. + +2. The server version of Ubuntu is recommended for production installations. The desktop version is only recommended for development deployments. + +3. See the [Redis Enterprise for Kubernetes documentation]({{< relref "/operate/kubernetes/reference/supported_k8s_distributions" >}}) for details about support per version and Kubernetes distribution. + +4. [Docker images]({{< relref "/operate/rs/installing-upgrading/quickstarts/docker-quickstart" >}}) of Redis Enterprise Software are certified for development and testing only. + +5. Supported only if [FIPS was enabled during RHEL installation](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/switching-rhel-to-fips-mode_security-hardening#proc_installing-the-system-with-fips-mode-enabled_switching-rhel-to-fips-mode) to ensure FIPS compliance. + +## Downloads + +The following table shows the SHA256 checksums for the available packages: + +| Package | SHA256 checksum (7.22.x-tba April release) | +|---------|---------------------------------------| +| Ubuntu 20 | | +| Ubuntu 22 | | +| Red Hat Enterprise Linux (RHEL) 8 | | +| Red Hat Enterprise Linux (RHEL) 9 | | +| Amazon Linux 2 | | + +## Known issues + +- RS131972: Creating an ACL that contains a line break in the Cluster Manager UI can cause shard migration to fail due to ACL errors. + +## Known limitations + +#### New Cluster Manager UI limitations + +The following legacy UI features are not yet available in the new Cluster Manager UI: + +- Purge an Active-Active instance. + + Use [`crdb-cli crdb purge-instance`]({{< relref "/operate/rs/references/cli-utilities/crdb-cli/crdb/purge-instance" >}}) instead. + +- Search and export the log. + +#### RedisGraph prevents upgrade to RHEL 9 + +You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise 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 + +As part of Redis's commitment to security, Redis Enterprise Software implements the latest [security fixes](https://github.com/redis/redis/releases) available with [open source Redis](https://github.com/redis/redis). Redis Enterprise Software has already included the fixes for the relevant CVEs. + +Some CVEs announced for open source Redis do not affect Redis Enterprise Software due to different or additional functionality available in Redis Enterprise Software that is not available in open source Redis. + +Redis Enterprise Software 7.22.x-tba supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. + +Redis 7.2.x: + +- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. + +- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. + +- (CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution. + +- (CVE-2023-41053) Redis does not correctly identify keys accessed by `SORT_RO` and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.2.1) + +Redis 7.0.x: + +- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. + +- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. + +- (CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution. + +- (CVE-2023-41053) Redis does not correctly identify keys accessed by `SORT_RO` and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.0.13) + +- (CVE-2023-36824) Extracting key names from a command and a list of arguments may, in some cases, trigger a heap overflow and result in reading random heap memory, heap corruption, and potentially remote code execution. Specifically: using `COMMAND GETKEYS*` and validation of key names in ACL rules. (Redis 7.0.12) + +- (CVE-2023-28856) Authenticated users can use the `HINCRBYFLOAT` command to create an invalid hash field that will crash Redis on access. (Redis 7.0.11) + +- (CVE-2023-28425) Specially crafted `MSETNX` commands can lead to assertion and denial-of-service. (Redis 7.0.10) + +- (CVE-2023-25155) Specially crafted `SRANDMEMBER`, `ZRANDMEMBER`, and `HRANDFIELD` commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 7.0.9) + +- (CVE-2023-22458) Integer overflow in the Redis `HRANDFIELD` and `ZRANDMEMBER` commands can lead to denial-of-service. (Redis 7.0.8) + +- (CVE-2022-36021) String matching commands (like `SCAN` or `KEYS`) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 7.0.9) + +- (CVE-2022-35977) Integer overflow in the Redis `SETRANGE` and `SORT`/`SORT_RO` commands can drive Redis to OOM panic. (Redis 7.0.8) + +- (CVE-2022-35951) Executing an `XAUTOCLAIM` command on a stream key in a specific state, with a specially crafted `COUNT` argument, may cause an integer overflow, a subsequent heap overflow, and potentially lead to remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.5) + +- (CVE-2022-31144) A specially crafted `XAUTOCLAIM` command on a stream key in a specific state may result in heap overflow and potentially remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.4) + +- (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 7.0.12) + +- (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the `redis-server` process. This issue affects all versions of Redis. (Redis 7.0.0) + +- (CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 7.0.0) + +Redis 6.2.x: + +- (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. + +- (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. + +- (CVE-2023-28856) Authenticated users can use the `HINCRBYFLOAT` command to create an invalid hash field that will crash Redis on access. (Redis 6.2.12) + +- (CVE-2023-25155) Specially crafted `SRANDMEMBER`, `ZRANDMEMBER`, and `HRANDFIELD` commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 6.2.11) + +- (CVE-2023-22458) Integer overflow in the Redis `HRANDFIELD` and `ZRANDMEMBER` commands can lead to denial-of-service. (Redis 6.2.9) + +- (CVE-2022-36021) String matching commands (like `SCAN` or `KEYS`) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 6.2.11) + +- (CVE-2022-35977) Integer overflow in the Redis `SETRANGE` and `SORT`/`SORT_RO` commands can drive Redis to OOM panic. (Redis 6.2.9) + +- (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 6.2.13) + +- (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the `redis-server` process. This issue affects all versions of Redis. (Redis 6.2.7) + +- (CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 6.2.7) + +- (CVE-2021-41099) Integer to heap buffer overflow handling certain string commands and network payloads, when `proto-max-bulk-len` is manually configured to a non-default, very large value. (Redis 6.2.6) + +- (CVE-2021-32762) Integer to heap buffer overflow issue in `redis-cli` and `redis-sentinel` parsing large multi-bulk replies on some older and less common platforms. (Redis 6.2.6) + +- (CVE-2021-32761) An integer overflow bug in Redis version 2.2 or newer can be exploited using the `BITFIELD` command to corrupt the heap and potentially result with remote code execution. (Redis 6.2.5) + +- (CVE-2021-32687) Integer to heap buffer overflow with intsets, when `set-max-intset-entries` is manually configured to a non-default, very large value. (Redis 6.2.6) + +- (CVE-2021-32675) Denial Of Service when processing RESP request payloads with a large number of elements on many connections. (Redis 6.2.6) + +- (CVE-2021-32672) Random heap reading issue with Lua Debugger. (Redis 6.2.6) + +- (CVE-2021-32628) Integer to heap buffer overflow handling ziplist-encoded data types, when configuring a large, non-default value for `hash-max-ziplist-entries`, `hash-max-ziplist-value`, `zset-max-ziplist-entries` or `zset-max-ziplist-value`. (Redis 6.2.6) + +- (CVE-2021-32627) Integer to heap buffer overflow issue with streams, when configuring a non-default, large value for `proto-max-bulk-len` and `client-query-buffer-limit`. (Redis 6.2.6) + +- (CVE-2021-32626) Specially crafted Lua scripts may result with Heap buffer overflow. (Redis 6.2.6) + +- (CVE-2021-32625) An integer overflow bug in Redis version 6.0 or newer can be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. This is a result of an incomplete fix by CVE-2021-29477. (Redis 6.2.4) + +- (CVE-2021-29478) An integer overflow bug in Redis 6.2 could be exploited to corrupt the heap and potentially result with remote code execution. The vulnerability involves changing the default set-max-intset-entries configuration value, creating a large set key that consists of integer values and using the COPY command to duplicate it. The integer overflow bug exists in all versions of Redis starting with 2.6, where it could result with a corrupted RDB or DUMP payload, but not exploited through COPY (which did not exist before 6.2). (Redis 6.2.3) + +- (CVE-2021-29477) An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result in remote code execution. The integer overflow bug exists in all versions of Redis starting with 6.0. (Redis 6.2.3) From 3c53be9088770ea7c6f0e2bb48c6a4337007b4d7 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 3 Mar 2025 16:14:29 -0500 Subject: [PATCH 02/85] DOC-4930 Move resolved issues from Gilboa release notes draft to 7.22 release notes --- .../rs-7-22-releases/rs-7-22-x-tba.md | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index c4d304e8b..3e7c27d40 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -63,7 +63,43 @@ The following table shows which Redis modules are compatible with each Redis dat ### Resolved issues -- TBA +- RS134225: Fixed an issue where the server restart could fail during cluster upgrade due to a timeout. + +- RS133342: Fixed an issue where too many API requests in the queue could cause new API requests to fail. + +- RS125543: Changed slow log duration to milliseconds in the new Cluster Manager UI. + +- RS142296: Fixed a REST API issue where updating an existing database with an empty module list removed modules from the database. Such requests now return an error instead. + +- RS94080: Fixed `PUT /v1/bdbs//` requests to allow `flush` and `reset_admin_pass` actions without requiring a request body. + +- RS140649: Fixed an issue where database backups were not deleted at the expected time based on the configured retention period. + +- RS136409: Improved checks to determine if the cluster is in an unstable state. + +- RS122370: Changed Envoy concurrency to 4 by default to prevent an issue where Envoy on the primary node in a cluster with many nodes sometimes failed to receive API requests. + +- RS107325: Fixed an issue where database recovery could get stuck due to shard UID conflicts. + +- RS139699: Fixed an issue where the Cluster Manager UI reported "invalid username or password" if the connection timed out during a sign-in attempt. + +- RS138625: Fixed an issue where `rlcheck` reported `verify_tcp_connectivity` as failed for optional services that were not enabled instead of skipping the check. + +- RS134742: Fixed an issue where the `virbr0` interface was automatically added to the external addresses when nodes joined the cluster, which could cause network conflicts and connectivity issues due to duplicated IP addresses. + +- RS138490: Reduced log entries for unbootstrapped nodes, which do not have log rotation scheduled yet, to prevent filling the disk with logs. + +- RS142248: Added module information to database creation log messages. + +- RS123576: Fixed an issue that prevented reconfiguring an existing ACL file with `rlutil`. + +- RS133679: Added a validation check to the optimize shards API to return quicker if the database cannot fit on the cluster. + +- RS134968: Improved the functionality around killing shards. + +- RS146096: Fixed an issue where the syncer could fail due to the RDB file parser incorrectly parsing least frequently used values larger than 127. + +- RS125845: Fixed an issue where outdated AOF persistence files were not rotated upon upgrading the Redis database version from 6 to 7. ## Version changes From da8f5ce32a4694310fb36cf3dec33170f788713b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 5 Mar 2025 14:26:48 -0500 Subject: [PATCH 03/85] DOC-4920 RS: Add fields and descriptions returned by /v1/actions to REST API reference --- .../rest-api/requests/actions/_index.md | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index 5bec2f637..0e7ff4e2d 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -23,7 +23,7 @@ weight: $weight GET /v1/actions ``` -Get the status of all actions (executing, queued, or completed) on all entities (clusters, nodes, and databases). This API tracks long-lived API requests that return either a `task_id` or an `action_uid`. +Get the status of all running, pending, or completed actions on all clusters, nodes, and databases. This API tracks long-lived API requests that return either a `task_id` or an `action_uid`. #### Required permissions @@ -41,7 +41,18 @@ GET /actions ### Response {#get-all-response} -Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest-api/objects/action" >}}) and an array of [state-machine objects]({{< relref "/operate/rs/references/rest-api/objects/state-machine" >}}). +Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest-api/objects/action" >}}), which represent tasks, and an array of [state-machine objects]({{< relref "/operate/rs/references/rest-api/objects/state-machine" >}}). + +| Field | Type/Value | Description | +|-------|------------|-------------| +| action_uid | string | The action's globally unique identifier | +| name | string | Name of the running or failed state machine | +| progress | float (range: 0-100) | Percent of completed steps for the action | +| status | "pending"
"active"
"completed"
"failed" | The action's status | +| node_uid | string | UID of the node where the operation runs (optional) | +| object_name | string | The object that the action runs on (optional) | +| state | string | The current state of the state machine (optional) | +| pending_ops | JSON object | List of operations that are waiting to run (optional) | Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. @@ -93,7 +104,7 @@ Regardless of an action’s source, each action in the response contains the fol GET /v1/actions/{uid} ``` -Get the status of a currently executing, queued, or completed action. +Get the status of a specific action. #### Required permissions @@ -119,6 +130,17 @@ GET /actions/{uid} Returns an [action object]({{< relref "/operate/rs/references/rest-api/objects/action" >}}). +| Field | Type/Value | Description | +|-------|------------|-------------| +| action_uid | string | The action's globally unique identifier | +| name | string | Name of the running or failed state machine | +| progress | float (range: 0-100) | Percent of completed steps for the action | +| status | "pending"
"active"
"completed"
"failed" | The action's status | +| node_uid | string | UID of the node where the operation runs (optional) | +| object_name | string | The object that the action runs on (optional) | +| state | string | The current state of the state machine (optional) | +| pending_ops | JSON object | List of operations that are waiting to run (optional) | + Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. #### Example JSON body From 8e8b5143b1c75ff121a0e3dfe68aa8457d6452b4 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 6 Mar 2025 14:06:07 -0500 Subject: [PATCH 04/85] DOC-4917 Added reserved ports 9082 and 3351 to release notes draft and reserved ports table --- content/operate/rs/networking/port-configurations.md | 3 ++- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/networking/port-configurations.md b/content/operate/rs/networking/port-configurations.md index 0325426ed..d95dc5d3e 100644 --- a/content/operate/rs/networking/port-configurations.md +++ b/content/operate/rs/networking/port-configurations.md @@ -31,12 +31,13 @@ Redis Enterprise Software's port usage falls into three general categories: | TCP | 3347-3349, 8000, 8071, 9091, 9125 | ❌ No | Internal | Internal metrics ports | | TCP | 8443 | ✅ Yes | Internal, External | Secure (HTTPS) access to the management web UI | | TCP | 9081 | ✅ Yes | Internal | CRDB coordinator for Active-Active management (internal) | +| TCP | 9082 | ❌ No | Internal | Cluster API internal port | | TCP | 9443, 8080 | ✅ Yes | Internal, External, Active-Active | REST API traffic, including cluster management and node bootstrap | | TCP | 10050 | ❌ No | Internal | Zabbix monitoring | | TCP | 10000-10049, 10051-19999 | ✅ Yes | Internal, External, Active-Active | Database traffic | | UDP | 53, 5353 | ❌ No | Internal, External | DNS/mDNS traffic | | TCP | 1968 | ❌ No | Internal | Proxy traffic | -| TCP | 3333-3345, 3350, 36379 | ❌ No | Internal | Internode communication | +| TCP | 3333-3345, 3350, 3351, 36379 | ❌ No | Internal | Internode communication | | TCP | 20000-29999 | ❌ No | Internal | Database shard traffic | | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| | TCP | 8444, 9080 | ❌ No | Internal | Traffic between web proxy and cnm_http/cm | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 3e7c27d40..f32c75701 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -39,7 +39,8 @@ This version offers: | Port | Process name | Usage | |------|--------------|-------| - | TBA | | | + | 3351 | cluster_watchdog_grpc_api | Cluster watchdog now supports gRPC | + | 9082 | cluster_api_internal | Cluster API internal port | ### Redis database versions From f0667022c8ddaa6c46e2ee672e27740f6fb179c0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 6 Mar 2025 14:12:51 -0500 Subject: [PATCH 05/85] Removed RedisGraph from release notes draft's feature set table --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index f32c75701..f60aa76a9 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -58,9 +58,7 @@ The following table shows which Redis modules are compatible with each Redis dat |------------------------|--------------------------| | 7.4 | [RediSearch 2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.10-release-notes.md" >}})
[RedisJSON 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.8-release-notes.md" >}})
[RedisTimeSeries 1.12]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.12-release-notes.md" >}})
[RedisBloom 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.8-release-notes.md" >}}) | | 7.2 | [RediSearch 2.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.8-release-notes.md" >}})
[RedisJSON 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.6-release-notes.md" >}})
[RedisTimeSeries 1.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.10-release-notes.md" >}})
[RedisBloom 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.6-release-notes.md" >}}) | -| 6.2 | [RediSearch 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[RedisJSON 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes.md" >}})
[RedisTimeSeries 1.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes.md" >}})
[RedisBloom 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes.md" >}})
[RedisGraph v2.10]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisgraph/redisgraph-2.10-release-notes.md" >}})[1](#module-note-1) | - -1. RedisGraph end-of-life has been announced and will be removed in a future release. See the [RedisGraph end-of-life announcement](https://redis.io/blog/redisgraph-eol/) for more details. +| 6.2 | [RediSearch 2.6]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisearch/redisearch-2.6-release-notes.md" >}})
[RedisJSON 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisjson/redisjson-2.4-release-notes.md" >}})
[RedisTimeSeries 1.8]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.8-release-notes.md" >}})
[RedisBloom 2.4]({{< relref "/operate/oss_and_stack/stack-with-enterprise/release-notes/redisbloom/redisbloom-2.4-release-notes.md" >}}) | ### Resolved issues From 2e39e2704169c89906abac742f5eb20a4168b427 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 6 Mar 2025 16:47:38 -0500 Subject: [PATCH 06/85] DOC-4916 Added 7.18 resolved issues to April release notes draft --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index f60aa76a9..5e2430f63 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -100,6 +100,14 @@ The following table shows which Redis modules are compatible with each Redis dat - RS125845: Fixed an issue where outdated AOF persistence files were not rotated upon upgrading the Redis database version from 6 to 7. +- RS147882: Fixed a "Failed to write PID file: Permission denied" error in `ccs-redis.log` by removing an unneeded CCS PID file. + +- RS146941: Fixed an issue where `crdb-cli crdb get` failed with a `KeyError` when `replication_endpoint` or `replication_tls_sni` were not set for the Active-Active database. + +- RS122668: Fixed an issue where new DMC workers created after a certificate update could still have the old certificate. + +- RS141853: Optimized connection pool handling to reduce memory and CPU usage by `node_wd`. + ## Version changes ### Breaking changes From 9fb13dff52f38829537607b60db232f6992f7c8b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 7 Mar 2025 11:25:49 -0500 Subject: [PATCH 07/85] DOC-4935 Added 7.20 resolved issues to RS April release notes draft --- .../rs-7-22-releases/rs-7-22-x-tba.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 5e2430f63..b00ac223e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -35,6 +35,8 @@ This version offers: - TBA +- Added module information to database creation log messages. + - Reserved the following ports: | Port | Process name | Usage | @@ -88,8 +90,6 @@ The following table shows which Redis modules are compatible with each Redis dat - RS138490: Reduced log entries for unbootstrapped nodes, which do not have log rotation scheduled yet, to prevent filling the disk with logs. -- RS142248: Added module information to database creation log messages. - - RS123576: Fixed an issue that prevented reconfiguring an existing ACL file with `rlutil`. - RS133679: Added a validation check to the optimize shards API to return quicker if the database cannot fit on the cluster. @@ -100,7 +100,7 @@ The following table shows which Redis modules are compatible with each Redis dat - RS125845: Fixed an issue where outdated AOF persistence files were not rotated upon upgrading the Redis database version from 6 to 7. -- RS147882: Fixed a "Failed to write PID file: Permission denied" error in `ccs-redis.log` by removing an unneeded CCS PID file. +- RS147882: Fixed a `Failed to write PID file: Permission denied` error in `ccs-redis.log` by removing an unneeded CCS PID file. - RS146941: Fixed an issue where `crdb-cli crdb get` failed with a `KeyError` when `replication_endpoint` or `replication_tls_sni` were not set for the Active-Active database. @@ -108,6 +108,16 @@ The following table shows which Redis modules are compatible with each Redis dat - RS141853: Optimized connection pool handling to reduce memory and CPU usage by `node_wd`. +- RS150853: Fixed an issue during RDB loading where replica shards sometimes terminated with the module error `no matching module type 'AAAAAAAAA'`. + +- RS149480: Fixed an issue where port 9091 was missing from the reserved ports list returned by `rladmin` and `ccs-cli`. + +- RS148075: Changed the default value of `gradual_sync_mode` to `enabled` for Replica Of databases to sync data from one shard at a time and reduce load on the destination. + +- RS147991: Fixed an issue where the creation of too many Replica Of workers could cause the DMC proxy to restart repeatedly. + +- RS135446: Added cleanup of temporary files after `debug_info` generation failures. + ## Version changes ### Breaking changes From a58579e86e26d995ce274d0f4c0cfb51fa4b3f43 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 7 Mar 2025 13:12:59 -0500 Subject: [PATCH 08/85] DOC-4917 Added port 3355 to release notes draft and reserved ports table --- content/operate/rs/networking/port-configurations.md | 1 + .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 1 + 2 files changed, 2 insertions(+) diff --git a/content/operate/rs/networking/port-configurations.md b/content/operate/rs/networking/port-configurations.md index d95dc5d3e..34b564dcd 100644 --- a/content/operate/rs/networking/port-configurations.md +++ b/content/operate/rs/networking/port-configurations.md @@ -38,6 +38,7 @@ Redis Enterprise Software's port usage falls into three general categories: | UDP | 53, 5353 | ❌ No | Internal, External | DNS/mDNS traffic | | TCP | 1968 | ❌ No | Internal | Proxy traffic | | TCP | 3333-3345, 3350, 3351, 36379 | ❌ No | Internal | Internode communication | +| TCP | 3355 | ❌ No | Internal | Authentication service internal port | | TCP | 20000-29999 | ❌ No | Internal | Database shard traffic | | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| | TCP | 8444, 9080 | ❌ No | Internal | Traffic between web proxy and cnm_http/cm | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index b00ac223e..2970d40a5 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -42,6 +42,7 @@ This version offers: | Port | Process name | Usage | |------|--------------|-------| | 3351 | cluster_watchdog_grpc_api | Cluster watchdog now supports gRPC | + | 3355 | authenticator | Authentication service internal port | | 9082 | cluster_api_internal | Cluster API internal port | ### Redis database versions From c9c621023a36a092d9889ff2245b3f2bdc8f700d Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 12 Mar 2025 14:21:11 -0400 Subject: [PATCH 09/85] DOC-4969 RS: Updated API docs with 7.12.0 changes --- content/operate/rs/references/rest-api/objects/bdb/_index.md | 2 ++ .../operate/rs/references/rest-api/objects/cluster_settings.md | 1 + 2 files changed, 3 insertions(+) diff --git a/content/operate/rs/references/rest-api/objects/bdb/_index.md b/content/operate/rs/references/rest-api/objects/bdb/_index.md index d2bc5482f..a83fbdf46 100644 --- a/content/operate/rs/references/rest-api/objects/bdb/_index.md +++ b/content/operate/rs/references/rest-api/objects/bdb/_index.md @@ -41,6 +41,7 @@ An API object that represents a managed database in the cluster. | bigstore | boolean (default: false); Database bigstore option | | bigstore_ram_size | integer (default: 0); Memory size of bigstore RAM part. | | bigstore_ram_weights | {{}}[{
"shard_uid": integer,
"weight": number
}, ...]{{
}} List of shard UIDs and their bigstore RAM weights;
**shard_uid**: Shard UID;
**weight**: Relative weight of RAM distribution | +| bigstore_version | The database's `bigstore_version`:
• `1` for Auto Tiering (Redis on Flash version 1). Default version.
• `2` for Redis Flex (Redis on Flash version 2) on databases that support it. Can only be used with the `speedb` driver. | | client_cert_subject_validation_type | Enables additional certificate validations that further limit connections to clients with valid certificates during TLS client authentication.
Values:
**disabled**: Authenticates clients with valid certificates. No additional validations are enforced.
**san_cn**: A client certificate is valid only if its Common Name (CN) matches an entry in the list of valid subjects. Ignores other Subject attributes.
**full_subject**: A client certificate is valid only if its Subject attributes match an entry in the list of valid subjects. | | conns | integer (default 5); Number of internal proxy connections | | conns_type | Connections limit type
Values:
**‘per-thread’**
‘per-shard’ | @@ -98,6 +99,7 @@ An API object that represents a managed database in the cluster. | max_client_pipeline | integer (default: 200); Maximum number of pipelined commands per connection. Maximum value is 2047. | | max_connections | integer (default: 0); Maximum number of client connections allowed (0 unlimited) | | max_pipelined | integer (default: 2000); Determines the maximum number of commands in the proxy’s pipeline per shard connection. | +| maxclients | integer (default: 10000); The maximum number of connected clients at the same time. By default the limit is 10000 clients. | | master_persistence | boolean (default: false); If true, persists the primary shard in addition to replica shards in a replicated and persistent database. | | memory_size | integer (default: 0); Database memory limit (0 is unlimited), expressed in bytes. | | metrics_export_all | boolean; Enable/disable exposing all shard metrics through the metrics exporter | diff --git a/content/operate/rs/references/rest-api/objects/cluster_settings.md b/content/operate/rs/references/rest-api/objects/cluster_settings.md index 410521b43..18efde5fa 100644 --- a/content/operate/rs/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster_settings.md @@ -23,6 +23,7 @@ Cluster resources management policy | bigstore_provision_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | | data_internode_encryption | boolean | Enable/deactivate encryption of the data plane internode communication | | db_conns_auditing | boolean | [Audit connections]({{< relref "/operate/rs/security/audit-events" >}}) for new databases by default if set to true. | +| default_bigstore_version | **`1`**
`2` | Determines the default value of new databases' `bigstore_version`:
• `1` for Auto Tiering (Redis on Flash version 1). Default version.
• `2` for Redis Flex (Redis on Flash version 2) on databases that support it. Can only be used with the `speedb` driver. | | default_concurrent_restore_actions | integer | Default number of restore actions allowed at the same time. Set to 0 to allow any number of simultaneous restore actions. | | default_fork_evict_ram | boolean | If true, the bdbs should evict data from RAM to ensure successful replication or persistence | | default_non_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default proxy_policy for newly created non-sharded databases' endpoints | From 7fe873dad2ce49fa51337f56172099e7fc940d1a Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 12 Mar 2025 15:23:09 -0400 Subject: [PATCH 10/85] DOC-4705 Added 7.12.0 new features/enhancements to RS April release notes draft --- .../rs-7-22-releases/rs-7-22-x-tba.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 2970d40a5..dbfe3ffbe 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. TBA +description: New pricing and packaging. Revamp database API. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -19,7 +19,7 @@ This version offers: - New pricing and packaging -- TBA +- Revamp database API ## New in this release @@ -27,7 +27,11 @@ This version offers: - New pricing and packaging -- TBA +- Revamp database REST API request: + + - Updates topology-related configurations of an active database and optimises the shards placement for the new configuration. Example configuration parameters include `memory_size`, `shards_count`, `avoid_nodes`, `shards_placement`, `bigstore_ram_size`, and `replication`. + + - Replaces the deprecated request to [optimize shards placement]({{}}). ### Enhancements @@ -35,6 +39,14 @@ This version offers: - TBA +- REST API enhancements: + + - Adjusted the API to [get the database recovery plan]({{}}) to only return the best persistence file per slot range for databases with `master_persistence` enabled. + + - A database's `maxclients` can now be configured with an [update database configuration]({{}}) request. + + - Added `bigstore_version` to database configuration and `default_bigstore_version` to cluster settings. + - Added module information to database creation log messages. - Reserved the following ports: From 8961961fcdf0736478ff2ab7564d9d569ad4c031 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 12 Mar 2025 16:24:55 -0400 Subject: [PATCH 11/85] Added default_oss_cluster to RS cluster_settings REST API reference --- .../operate/rs/references/rest-api/objects/cluster_settings.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/operate/rs/references/rest-api/objects/cluster_settings.md b/content/operate/rs/references/rest-api/objects/cluster_settings.md index 18efde5fa..92e401d6f 100644 --- a/content/operate/rs/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster_settings.md @@ -28,6 +28,7 @@ Cluster resources management policy | default_fork_evict_ram | boolean | If true, the bdbs should evict data from RAM to ensure successful replication or persistence | | default_non_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default proxy_policy for newly created non-sharded databases' endpoints | | default_oss_sharding | boolean (default: false) | Default hashing policy to use for new databases. This field is for future use only and should not be changed. | +| default_oss_cluster | boolean (default: false) | Default `oss_cluster` setting for new databases. Enables the OSS Cluster API if `true`, or turns it off if `false`. | | default_provisioned_redis_version | string | Default Redis version | | default_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default proxy_policy for newly created sharded databases' endpoints | | default_shards_placement | `dense`
`sparse` | Default shards_placement for a newly created databases | From 7a02a87364bff7586e327959552da855e8ea50db Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 13 Mar 2025 10:27:18 -0400 Subject: [PATCH 12/85] DOC-4976 RS: Added sentinel service to optional services --- .../objects/services_configuration/_index.md | 1 + .../services_configuration/sentinel_service.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 content/operate/rs/references/rest-api/objects/services_configuration/sentinel_service.md diff --git a/content/operate/rs/references/rest-api/objects/services_configuration/_index.md b/content/operate/rs/references/rest-api/objects/services_configuration/_index.md index 1faf67ef8..135a89cc0 100644 --- a/content/operate/rs/references/rest-api/objects/services_configuration/_index.md +++ b/content/operate/rs/references/rest-api/objects/services_configuration/_index.md @@ -23,4 +23,5 @@ Optional cluster services settings | ldap_agent_mgr | [ldap_agent_mgr]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/ldap_agent_mgr" >}}) object | Whether to enable/disable the LDAP agent manager processes | | mdns_server | [mdns_server]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/mdns_server" >}}) object | Whether to enable/disable the multicast DNS server | | pdns_server | [pdns_server]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/pdns_server" >}}) object | Whether to enable/disable the PDNS server | +| sentinel_service | [sentinel_service]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/sentinel_service" >}}) object | Whether to enable/disable the Sentinel service process | | stats_archiver | [stats_archiver]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/stats_archiver" >}}) object | Whether to enable/disable the stats archiver service | diff --git a/content/operate/rs/references/rest-api/objects/services_configuration/sentinel_service.md b/content/operate/rs/references/rest-api/objects/services_configuration/sentinel_service.md new file mode 100644 index 000000000..3354f04c9 --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/services_configuration/sentinel_service.md @@ -0,0 +1,15 @@ +--- +Title: Sentinel service object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Documents the sentinel_service object used with Redis Enterprise Software REST API calls. +linkTitle: sentinel_service +weight: $weight +--- + +| Name | Type/Value | Description | +|------|------------|-------------| +| operating_mode | 'disabled'
'enabled' | Enable/disable the Sentinel service process | From f67a7903e130a8054d1cce9f5a356f04a7dcdbac Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 13 Mar 2025 11:19:56 -0400 Subject: [PATCH 13/85] RS: Added replica_read_only to BDB REST API object --- content/operate/rs/references/rest-api/objects/bdb/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/operate/rs/references/rest-api/objects/bdb/_index.md b/content/operate/rs/references/rest-api/objects/bdb/_index.md index a83fbdf46..c17e259e5 100644 --- a/content/operate/rs/references/rest-api/objects/bdb/_index.md +++ b/content/operate/rs/references/rest-api/objects/bdb/_index.md @@ -118,6 +118,7 @@ An API object that represents a managed database in the cluster. | recovery_wait_time | integer (default: -1); Defines how many seconds to wait for the persistence file to become available during auto recovery. After the wait time expires, auto recovery completes with potential data loss. The default `-1` means to wait forever. | | redis_version | string; Version of the redis-server processes: e.g. 6.0, 5.0-big | | repl_backlog_size | string; Redis replication backlog size ('auto' or size in bytes) | +| replica_read_only | boolean (default: false); If `true`, enables an Active-Passive setup where Replica Of databases only allow read operations. Only configurable during database creation and cannot be changed later. | | replica_sources | array of [syncer_sources]({{< relref "/operate/rs/references/rest-api/objects/bdb/syncer_sources" >}}) objects; Remote endpoints of database to sync from. See the 'bdb -\> replica_sources' section | | [replica_sync]({{< relref "/operate/rs/references/rest-api/objects/bdb/replica_sync" >}}) | Enable, disable, or pause syncing from specified replica_sources
Values:
'enabled'
**'disabled'**
'paused'
'stopped' | | replica_sync_connection_alarm_timeout_seconds | integer (default: 0); If the syncer takes longer than the specified number of seconds to connect to a replica, raise a connection alarm | From 31f7aac356aaf6df080f86f31865da3d1b325077 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 13 Mar 2025 11:38:37 -0400 Subject: [PATCH 14/85] DOC-4706 Added 7.14.0 new features/enhancements to RS April release notes draft --- .../rs-7-22-releases/rs-7-22-x-tba.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index dbfe3ffbe..5a19faa86 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. Revamp database API. +description: New pricing and packaging. Revamp database API. Migration status API. Usage report API. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -21,6 +21,10 @@ This version offers: - Revamp database API +- Migration status API + +- Usage report API + ## New in this release ### New features @@ -33,6 +37,10 @@ This version offers: - Replaces the deprecated request to [optimize shards placement]({{}}). +- Migration status REST API request, which reports the migration status of a database in the cluster. + +- Usage report API request + ### Enhancements - New Cluster Manager UI enhancements: @@ -47,6 +55,12 @@ This version offers: - Added `bigstore_version` to database configuration and `default_bigstore_version` to cluster settings. + - Added `default_oss_cluster` to cluster settings. + + - Added `sentinel_service` as an optional service that can be enabled or turned off with an [update cluster services configuration]({{}}) request. + + - Added `replica_read_only` to database configuration. If set to `true`, it enables an Active-Passive setup where Replica Of databases only allow read operations. `replica_read_only` is only configurable during [database creation]({{}}) and cannot be changed later. + - Added module information to database creation log messages. - Reserved the following ports: From 55f2aa2ea0fd22014428f15b2090d633b2462211 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 13 Mar 2025 16:13:44 -0400 Subject: [PATCH 15/85] Added robust_crdt_syncer to RS cluster REST API object --- content/operate/rs/references/rest-api/objects/cluster/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/operate/rs/references/rest-api/objects/cluster/_index.md b/content/operate/rs/references/rest-api/objects/cluster/_index.md index af2d453eb..fff12cba6 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/_index.md +++ b/content/operate/rs/references/rest-api/objects/cluster/_index.md @@ -58,6 +58,7 @@ An API object that represents the cluster. | proxy_max_ccs_disconnection_time | integer | Cluster-wide proxy timeout policy between proxy and CCS | | rack_aware | boolean | Cluster operates in a rack-aware mode (read-only) | | reserved_ports | array of strings | List of reserved ports and/or port ranges to avoid using for database endpoints (for example `"reserved_ports": ["11000", "13000-13010"]`) | +| robust_crdt_syncer | boolean (default: false) | If `true`, enables the robust syncer for Active-Active databases | | s3_url | string | Specifies the URL for S3 export and import | | saslauthd_ldap_conf | string | saslauthd LDAP configuration | | sentinel_cipher_suites | array | Specifies the list of enabled ciphers for the sentinel service. The supported ciphers are those implemented by the [cipher_suites.go]() package. | From 98de28fab0a5cc7843494fe12c86804b7b4960a0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 13 Mar 2025 16:15:13 -0400 Subject: [PATCH 16/85] DOC-4915 Added 7.18.0 new features/enhancements to RS April release notes draft --- .../release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 5a19faa86..4acd900a1 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. Revamp database API. Migration status API. Usage report API. +description: New pricing and packaging. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -25,6 +25,10 @@ This version offers: - Usage report API +- Two-dimensional rack awareness + +- v2 actions API + ## New in this release ### New features @@ -41,6 +45,10 @@ This version offers: - Usage report API request +- Added `secondary_rack_id` to boostrap and node configuration to support two-dimensional rack awareness. + +- A new version of the actions API is available at `GET /v2/actions` + ### Enhancements - New Cluster Manager UI enhancements: @@ -61,6 +69,8 @@ This version offers: - Added `replica_read_only` to database configuration. If set to `true`, it enables an Active-Passive setup where Replica Of databases only allow read operations. `replica_read_only` is only configurable during [database creation]({{}}) and cannot be changed later. + - Added `robust_crdt_syncer` to enable or turn off the robust syncer for Active-Active databases. + - Added module information to database creation log messages. - Reserved the following ports: From 85947ed11bc0eda61b4b14023652a43557a57181 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 18 Mar 2025 11:18:53 -0500 Subject: [PATCH 17/85] DOC-4984 RS: Updated API docs with 7.20.0 changes --- .../rs/references/cli-utilities/rladmin/tune.md | 4 ++++ .../rest-api/objects/cluster/_index.md | 1 + .../objects/cluster/logrotate_settings.md | 17 +++++++++++++++++ .../rs/references/rest-api/objects/proxy.md | 5 +++++ 4 files changed, 27 insertions(+) create mode 100644 content/operate/rs/references/rest-api/objects/cluster/logrotate_settings.md diff --git a/content/operate/rs/references/cli-utilities/rladmin/tune.md b/content/operate/rs/references/cli-utilities/rladmin/tune.md index 30cf6a800..113333ef1 100644 --- a/content/operate/rs/references/cli-utilities/rladmin/tune.md +++ b/content/operate/rs/references/cli-utilities/rladmin/tune.md @@ -275,6 +275,10 @@ rladmin tune proxy { | all } |-----------------|----------------------------|-------------------------------------------------------------------------------------| | id | integer | ID of the specified proxy | | all | | Configures settings for all proxies | +| client_eviction | boolean (default: false) | If `true,`, enables client eviction based on `maxmemory_clients`. | +| incoming_connections_capacity | integer (default: 0) | The maximum number of concurrent incoming connections, also known as the maximum burst size. The default is 0, which means no limit. | +| incoming_connections_min_capacity | integer (default: 10) | The minimum number of free slots required before accepting new connections after an overflow. | +| incoming_connections_rate_limit | integer (default: 0) | The maximum number of incoming connections per second. The default is 0, which means no limit. | | max_threads | integer, (range: 1-255) | Maximum number of threads allowed | | mode | `static`
`dynamic` | Determines if the proxy automatically adjusts the number of threads based on load size | | scale_duration | time in seconds, (range: 10-300) | Time of scale_threshold CPU utilization before the automatic proxy automatically scales | diff --git a/content/operate/rs/references/rest-api/objects/cluster/_index.md b/content/operate/rs/references/rest-api/objects/cluster/_index.md index fff12cba6..4e136ad83 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/_index.md +++ b/content/operate/rs/references/rest-api/objects/cluster/_index.md @@ -44,6 +44,7 @@ An API object that represents the cluster. | gossip_envoy_admin_port | integer, (range: 1024-65535) | Gossip envoy admin port| | handle_redirects | boolean (default: false) | Handle API HTTPS requests and redirect to the master node internally | | http_support | boolean (default: false) | Enable or turn off HTTP support | +| logrotate_settings | [logrotate_settings]({{}}) object | Settings for logrotate configuration | | min_control_TLS_version | '1.2'
'1.3' | The minimum version of TLS protocol which is supported at the control path | | min_data_TLS_version | '1.2'
'1.3' | The minimum version of TLS protocol which is supported at the data path | | min_sentinel_TLS_version | '1.2'
'1.3' | The minimum version of TLS protocol which is supported at the data path | diff --git a/content/operate/rs/references/rest-api/objects/cluster/logrotate_settings.md b/content/operate/rs/references/rest-api/objects/cluster/logrotate_settings.md new file mode 100644 index 000000000..dd748f69f --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/cluster/logrotate_settings.md @@ -0,0 +1,17 @@ +--- +Title: Logrotate settings object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Documents the logrotate_settings object used with Redis Enterprise Software REST API calls. +linkTitle: logrotate_settings +weight: $weight +--- + +| Name | Type/Value | Description | +|------|------------|-------------| +| maxage | integer (default: 7) | Remove rotated logs older than the specified number of days | +| maxsize | string (default: 200M) | The log will rotate after it reaches the specified size | +| rotate | integer (default: 10) | Determines how many times the log will be rotated. If set to 0, old versions are removed rather than rotated. | \ No newline at end of file diff --git a/content/operate/rs/references/rest-api/objects/proxy.md b/content/operate/rs/references/rest-api/objects/proxy.md index 7e50b2b6b..0cf9f4419 100644 --- a/content/operate/rs/references/rest-api/objects/proxy.md +++ b/content/operate/rs/references/rest-api/objects/proxy.md @@ -16,6 +16,7 @@ An API object that represents a [proxy](https://en.wikipedia.org/wiki/Proxy_serv |------|------------|-------------| | uid | integer | Unique ID of the proxy (read-only) | | backlog | integer | TCP listen queue backlog | +| client_eviction | boolean (default: false) | If `true,`, enables client eviction based on `maxmemory_clients`. | | client_keepcnt | integer | Client TCP keepalive count | | client_keepidle | integer | Client TCP keepalive idle | | client_keepintvl | integer | Client TCP keepalive interval | @@ -24,6 +25,9 @@ An API object that represents a [proxy](https://en.wikipedia.org/wiki/Proxy_serv | dynamic_threads_scaling | boolean | Automatically adjust the number of threads| | ignore_bdb_cconn_limit | boolean | Ignore client connection limits | | ignore_bdb_cconn_output_buff_limits | boolean | Ignore buffer limit | +| incoming_connections_capacity | integer (default: 0) | The maximum number of concurrent incoming connections, also known as the maximum burst size. The default is 0, which means no limit. | +| incoming_connections_min_capacity | integer (default: 10) | The minimum number of free slots required before accepting new connections after an overflow. | +| incoming_connections_rate_limit | integer (default: 0) | The maximum number of incoming connections per second. The default is 0, which means no limit. | | log_level | `crit`
`error`
`warn`
`info`
`trace`
`debug` | Minimum log level to log. Only logs with this level or greater will be logged. | | max_listeners | integer | Max number of listeners | | max_servers | integer | Max number of Redis servers | @@ -31,5 +35,6 @@ An API object that represents a [proxy](https://en.wikipedia.org/wiki/Proxy_serv | max_worker_client_conns | integer | Max client connections per thread | | max_worker_server_conns | integer | Max server connections per thread | | max_worker_txns | integer | Max in-flight transactions per thread | +| maxmemory_clients | integer (default: 4294967296) | Maximum total memory, in bytes, used by clients | | threads | integer, (range: 1-256) | Number of threads | | threads_usage_threshold | integer, (range: 50-99) | Max number of threads | From 7966e83f5736890dfb9152e52ce4dbd613883ad2 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 18 Mar 2025 11:20:16 -0500 Subject: [PATCH 18/85] DOC-4936 Added 7.20.0 new features/enhancements to RS April release notes draft --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 4acd900a1..4853dbbf5 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -71,6 +71,12 @@ This version offers: - Added `robust_crdt_syncer` to enable or turn off the robust syncer for Active-Active databases. + - Added `incoming_connections_rate_limit`, `incoming_connections_capacity`, and `incoming_connections_min_capacity` to proxy configuration. + + - Added `client_eviction` to proxy configuration. If set to `true`, it enables client eviction based on `maxmemory_clients`. + + - The cluster's `logrotate_settings` can now be configured with an [update cluster configuration]({{}}) request. + - Added module information to database creation log messages. - Reserved the following ports: From 7597d9e85a79b0dd7d73267b7a54405d8b90ac6a Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 18 Mar 2025 11:29:38 -0500 Subject: [PATCH 19/85] Moved resolved issue RS147991 from April RS release notes draft to 7.8.6 release notes draft --- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 4853dbbf5..87657e946 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -157,8 +157,6 @@ The following table shows which Redis modules are compatible with each Redis dat - RS148075: Changed the default value of `gradual_sync_mode` to `enabled` for Replica Of databases to sync data from one shard at a time and reduce load on the destination. -- RS147991: Fixed an issue where the creation of too many Replica Of workers could cause the DMC proxy to restart repeatedly. - - RS135446: Added cleanup of temporary files after `debug_info` generation failures. ## Version changes From a4d3795dda919159945c5e942ea142301a369378 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 18 Mar 2025 16:32:15 -0500 Subject: [PATCH 20/85] DOC-4984 RS: Updated API docs with 7.20.0 changes --- .../operate/rs/references/rest-api/objects/bdb/_index.md | 8 ++++++++ .../rs/references/rest-api/objects/cluster/_index.md | 1 + 2 files changed, 9 insertions(+) diff --git a/content/operate/rs/references/rest-api/objects/bdb/_index.md b/content/operate/rs/references/rest-api/objects/bdb/_index.md index c17e259e5..b87a2fde3 100644 --- a/content/operate/rs/references/rest-api/objects/bdb/_index.md +++ b/content/operate/rs/references/rest-api/objects/bdb/_index.md @@ -18,6 +18,13 @@ An API object that represents a managed database in the cluster. | uid | integer; Cluster unique ID of database. Can be set during creation but cannot be updated. | | account_id | integer; SM account ID | | action_uid | string; Currently running action's UID (read-only) | +| active_defrag_cycle_max | integer, (range: 1-99); Maximum CPU percentage used for defragmentation when the upper threshold is reached | +| active_defrag_cycle_min | integer, (range: 1-99) (default: 1); Minimal CPU percentage used for defragmentation when the lower threshold is reached | +| active_defrag_ignore_bytes | string (default: 100mb); Minimum amount of fragmentation waste to start active defragmentation | +| active_defrag_max_scan_fields | integer (default: 1000); Maximum number of set/hash/zset/list fields that will be processed from the main dictionary scan | +| active_defrag_threshold_lower | integer, (range: 0-1000) (default: 10); Minimum percentage of fragmentation to start active defragmentation | +| active_defrag_threshold_upper | integer, (range: 0-1000) (default: 100); Maximum percentage of fragmentation at which maximum effort is used | +| activedefrag | Enable or turn off active defragmentation functionality.
Values:
'yes'
**'no'** | | aof_policy | Policy for Append-Only File data persistence
Values:
**'appendfsync-every-sec'**
'appendfsync-always' | | authentication_admin_pass | string; Password for administrative access to the BDB (used for SYNC from the BDB) | | authentication_redis_pass | string; Redis AUTH password authentication.
Use for Redis databases only. Ignored for memcached databases. (deprecated as of Redis Enterprise v7.2, replaced with multiple passwords feature in version 6.0.X) | @@ -107,6 +114,7 @@ An API object that represents a managed database in the cluster. | module_list | {{}}[{
"module_id": string,
"module_args": [
u'string',
u'null'],
"module_name": string,
"semantic_version": string
}, ...]{{
}} List of modules associated with the database

**module_id**: Module UID (deprecated; use `module_name` instead)
**module_args**: Module command-line arguments (pattern does not allow special characters &,\<,>,")
**module_name**: Module's name
**semantic_version**: Module's semantic version (deprecated; use `module_args` instead)

**module_id** and **semantic_version** are optional as of Redis Enterprise Software v7.4.2 and deprecated as of v7.8.2. | | mtls_allow_outdated_certs | boolean; An optional mTLS relaxation flag for certs verification | | mtls_allow_weak_hashing | boolean; An optional mTLS relaxation flag for certs verification | +| multi_commands_opt | If set to `batch`, it reduces the overhead of transaction management by batching multiple commands into a single transaction.
Values:
**disabled**: Turns off the optimization.
**batch**: Enables the optimization.
**auto**: Uses the [cluster's `multi_commands_opt` setting]({{}}). | | name | string; Database name. Only letters, numbers, or hyphens are valid characters. The name must start and end with a letter or number. | | oss_cluster | boolean (default: false); OSS Cluster mode option. Cannot be enabled with `'hash_slots_policy': 'legacy'` | | oss_cluster_api_preferred_endpoint_type | Endpoint type in the OSS cluster API
Values:
**‘ip’**
‘hostname’ | diff --git a/content/operate/rs/references/rest-api/objects/cluster/_index.md b/content/operate/rs/references/rest-api/objects/cluster/_index.md index 4e136ad83..2ee55ca3b 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/_index.md +++ b/content/operate/rs/references/rest-api/objects/cluster/_index.md @@ -51,6 +51,7 @@ An API object that represents the cluster. | mtls_authorized_subjects | array | {{}}[{
"CN": string,
"O": string,
"OU": [array of strings],
"L": string,
"ST": string,
"C": string
}, ...]{{
}} A list of valid subjects used for additional certificate validations during TLS client authentication. All subject attributes are case-sensitive.
**Required subject fields**:
"CN" for Common Name
**Optional subject fields:**
"O" for Organization
"OU" for Organizational Unit (array of strings)
"L" for Locality (city)
"ST" for State/Province
"C" for 2-letter country code | | mtls_certificate_authentication | boolean | Require authentication of client certificates for mTLS connections to the cluster. The API_CA certificate should be configured as a prerequisite. | | mtls_client_cert_subject_validation_type | `disabled`
`san_cn`
`full_subject` | Enables additional certificate validations that further limit connections to clients with valid certificates during TLS client authentication.
Values:
**disabled**: Authenticates clients with valid certificates. No additional validations are enforced.
**san_cn**: A client certificate is valid only if its Common Name (CN) matches an entry in the list of valid subjects. Ignores other Subject attributes.
**full_subject**: A client certificate is valid only if its Subject attributes match an entry in the list of valid subjects. | +| multi_commands_opt | **`disabled`**
`batch`
`force_disabled` | Determines the default `multi_commands_opt` setting for databases in the cluster. If set to `batch`, it reduces the overhead of transaction management by batching multiple commands into a single transaction.
Values:
**disabled**: Turns off the optimization for all databases except those that override it on the [bdb level]({{}}). Default value.
**batch**: Enables the optimization on all databases except those that override it on the [bdb level]({{}}).
**force_disabled**: Disables the optimization for all databases, even those that override it on the [bdb level]({{}}). | | name | string | Cluster's fully qualified domain name (read-only) | | password_complexity | boolean (default: false) | Enforce password complexity policy | | password_expiration_duration | integer (default: 0) | The number of days a password is valid until the user is required to replace it | From 002a0b0760da7d6a4f323c34fcd97cc67fcf82aa Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 18 Mar 2025 16:32:43 -0500 Subject: [PATCH 21/85] DOC-4936 Added 7.20.0 new features/enhancements to RS April release notes draft --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 87657e946..ee956f340 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -77,6 +77,10 @@ This version offers: - The cluster's `logrotate_settings` can now be configured with an [update cluster configuration]({{}}) request. + - Added `multi_commands_opt` to cluster configuration and database configuration. If set to `batch`, it reduces the overhead of transaction management by batching multiple commands into a single transaction. + + - Added the following active defragmentation parameters to database configuration: `activedefrag`, `active_defrag_cycle_max`, `active_defrag_cycle_min`, `active_defrag_ignore_bytes`, `active_defrag_max_scan_fields`, `active_defrag_threshold_lower`, and `active_defrag_threshold_upper`. + - Added module information to database creation log messages. - Reserved the following ports: From 6239317b2c4d6e24a1742d1213a30880fc17dbd0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 20 Mar 2025 16:09:22 -0500 Subject: [PATCH 22/85] DOC-4920 Added more details about pending_ops structure and fields --- .../operate/rs/references/rest-api/requests/actions/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index 0e7ff4e2d..27e48ef5a 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -52,7 +52,7 @@ Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional) | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. @@ -139,7 +139,7 @@ Returns an [action object]({{< relref "/operate/rs/references/rest-api/objects/a | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional) | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. From db4575f720d69f8ce34346b2c46f5c8e6dcc4413 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 20 Mar 2025 16:14:31 -0500 Subject: [PATCH 23/85] Added missing commas to JSON example --- .../operate/rs/references/rest-api/requests/actions/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index 27e48ef5a..bcf08bfb8 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -52,7 +52,7 @@ Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. @@ -139,7 +139,7 @@ Returns an [action object]({{< relref "/operate/rs/references/rest-api/objects/a | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. From 603309a8c78a097de0247ddcb081da770213e2f9 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 21 Mar 2025 11:15:16 -0500 Subject: [PATCH 24/85] DOC-4932 Added RS 7.22 to upgrade paths table --- content/embeds/rs-upgrade-paths.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/content/embeds/rs-upgrade-paths.md b/content/embeds/rs-upgrade-paths.md index 1a15a639a..4f7920a21 100644 --- a/content/embeds/rs-upgrade-paths.md +++ b/content/embeds/rs-upgrade-paths.md @@ -4,11 +4,12 @@ :x: Not supported – You cannot upgrade directly from the current Redis Software cluster version. You must first upgrade to a supported intermediate version. -| Current Redis Software cluster version | Upgrade to Redis Software 6.2.x | Upgrade to Redis Software 6.4.x | Upgrade to Redis Software 7.2.x | Upgrade to Redis Software 7.4.x | Upgrade to Redis Software 7.8.x | -|:-----------------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:| -| 6.0.x | | | | :x: | :x: | -| 6.2.4
6.2.8 | | | | | :x: | -| 6.2.10
6.2.12
6.2.18 | | | | | | -| 6.4.x | – | | | | | -| 7.2.x | – | – | | | | -| 7.4.x | – | – | – | | | +| Current Redis Software cluster version | Upgrade to Redis Software 6.2.x | Upgrade to Redis Software 6.4.x | Upgrade to Redis Software 7.2.x | Upgrade to Redis Software 7.4.x | Upgrade to Redis Software 7.8.x | Upgrade to Redis Software 7.22.x | +|:-----------------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:| +| 6.0.x | | | | :x: | :x: | :x: | +| 6.2.4
6.2.8 | | | | | :x: | :x: | +| 6.2.10
6.2.12
6.2.18 | | | | | | ? | +| 6.4.x | – | | | | | | +| 7.2.x | – | – | | | | | +| 7.4.x | – | – | – | | | | +| 7.8.x | – | – | – | – | | | From 751c25fbdbfc301604a0a4ea0f6a6ad0183e4510 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 21 Mar 2025 11:50:14 -0500 Subject: [PATCH 25/85] DOC-4934 Added RS 7.22 placeholder to EOL schedule and added EOL for RS 7.8 --- content/operate/rs/installing-upgrading/product-lifecycle.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/installing-upgrading/product-lifecycle.md b/content/operate/rs/installing-upgrading/product-lifecycle.md index fd7622216..3bfdf8810 100644 --- a/content/operate/rs/installing-upgrading/product-lifecycle.md +++ b/content/operate/rs/installing-upgrading/product-lifecycle.md @@ -40,7 +40,8 @@ This update to the EOL policy allows a lead time of at least 24 months to upgrad | Version - Release date | End of Life (EOL) | | ----------------------------------------- | ------------------ | -| 7.8 – November 2024 | - | +| 7.22 – April 2025 | - | +| 7.8 – November 2024 | April 30, 2027 | | 7.4 – February 2024 | November 30, 2026 | | 7.2 – August 2023 | February 28, 2026 | | 6.4 – February 2023 | August 31, 2025 | From d4cb4ce5434f4ce26064d8f26c3ab6ff06c1eec6 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 21 Mar 2025 12:01:46 -0500 Subject: [PATCH 26/85] DOC-4931 Added RS 7.22 column to supported platforms table --- content/embeds/supported-platforms-embed.md | 34 +++++++++---------- .../release-notes/rs-7-22-releases/_index.md | 34 +++++++++---------- .../rs-7-22-releases/rs-7-22-x-tba.md | 33 +++++++++--------- 3 files changed, 51 insertions(+), 50 deletions(-) diff --git a/content/embeds/supported-platforms-embed.md b/content/embeds/supported-platforms-embed.md index ee1e93a79..ba2796445 100644 --- a/content/embeds/supported-platforms-embed.md +++ b/content/embeds/supported-platforms-embed.md @@ -7,23 +7,23 @@ Redis Enterprise Software is supported on several operating systems, cloud envi :warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release. -| Redis Software
major versions | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | -|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:| -| **Release date** | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | -| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | -| **Platforms** | | | | | | -| RHEL 9 &
compatible distros[1](#table-note-1) | | | – | – | – | -| RHEL 9
FIPS mode[5](#table-note-5) | | – | – | – | – | -| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | -| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | :warning: | | | -| Ubuntu 22.04[2](#table-note-2) | | – | – | – | – | -| Ubuntu 20.04[2](#table-note-2) | | | | | – | -| Ubuntu 18.04[2](#table-note-2) | – | :warning: | :warning: | | | -| Ubuntu 16.04[2](#table-note-2) | – | – | :warning: | | | -| Amazon Linux 2 | | | | | – | -| Amazon Linux 1 | – | – | | | | -| Kubernetes[3](#table-note-3) | | | | | | -| Docker[4](#table-note-4) | | | | | | +| Redis Software
major versions | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Apr 2025 | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | +| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Apr 2027 | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | +| **Platforms** | | | | | | | +| RHEL 9 &
compatible distros[1](#table-note-1) | | | | – | – | – | +| RHEL 9
FIPS mode[5](#table-note-5) | | | – | – | – | – | +| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | | +| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | – | :warning: | | | +| Ubuntu 22.04[2](#table-note-2) | | | – | – | – | – | +| Ubuntu 20.04[2](#table-note-2) | | | | | | – | +| Ubuntu 18.04[2](#table-note-2) | – | – | :warning: | :warning: | | | +| Ubuntu 16.04[2](#table-note-2) | – | – | – | :warning: | | | +| Amazon Linux 2 | | | | | | – | +| Amazon Linux 1 | – | – | – | | | | +| Kubernetes[3](#table-note-3) | | | | | | | +| Docker[4](#table-note-4) | | | | | | | 1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported. diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 05e163558..424256513 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -61,23 +61,23 @@ The following table provides a snapshot of supported platforms as of this Redis :warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release. -| Redis Software
major versions | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | -|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:| -| **Release date** | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | -| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | -| **Platforms** | | | | | | -| RHEL 9 &
compatible distros[1](#table-note-1) | | | – | – | – | -| RHEL 9
FIPS mode[5](#table-note-5) | | – | – | – | – | -| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | -| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | :warning: | | | -| Ubuntu 22.04[2](#table-note-2) | | – | – | – | – | -| Ubuntu 20.04[2](#table-note-2) | | | | | – | -| Ubuntu 18.04[2](#table-note-2) | – | :warning: | :warning: | | | -| Ubuntu 16.04[2](#table-note-2) | – | – | :warning: | | | -| Amazon Linux 2 | | | | | – | -| Amazon Linux 1 | – | – | | | | -| Kubernetes[3](#table-note-3) | | | | | | -| Docker[4](#table-note-4) | | | | | | +| Redis Software
major versions | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Apr 2025 | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | +| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Apr 2027 | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | +| **Platforms** | | | | | | | +| RHEL 9 &
compatible distros[1](#table-note-1) | | | | – | – | – | +| RHEL 9
FIPS mode[5](#table-note-5) | | | – | – | – | – | +| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | | +| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | – | :warning: | | | +| Ubuntu 22.04[2](#table-note-2) | | | – | – | – | – | +| Ubuntu 20.04[2](#table-note-2) | | | | | | – | +| Ubuntu 18.04[2](#table-note-2) | – | – | :warning: | :warning: | | | +| Ubuntu 16.04[2](#table-note-2) | – | – | – | :warning: | | | +| Amazon Linux 2 | | | | | | – | +| Amazon Linux 1 | – | – | – | | | | +| Kubernetes[3](#table-note-3) | | | | | | | +| Docker[4](#table-note-4) | | | | | | | 1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported. diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index ee956f340..92f8f7a7e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -195,22 +195,23 @@ The following table provides a snapshot of supported platforms as of this Redis :warning: Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release. -| Redis Software
major versions | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | -|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:| -| **Release date** | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | -| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | -| **Platforms** | | | | | | -| RHEL 9 &
compatible distros[1](#table-note-1) | | | – | – | – | -| RHEL 9
FIPS mode[5](#table-note-5) | | – | – | – | – | -| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | -| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | :warning: | | | -| Ubuntu 20.04[2](#table-note-2) | | | | | – | -| Ubuntu 18.04[2](#table-note-2) | – | :warning: | :warning: | | | -| Ubuntu 16.04[2](#table-note-2) | – | – | :warning: | | | -| Amazon Linux 2 | | | | | – | -| Amazon Linux 1 | – | – | | | | -| Kubernetes[3](#table-note-3) | | | | | | -| Docker[4](#table-note-4) | | | | | | +| Redis Software
major versions | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Apr 2025 | Nov 2024 | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 | +| [**End-of-life date**]({{< relref "/operate/rs/installing-upgrading/product-lifecycle#endoflife-schedule" >}}) | Determined after
next major release | Apr 2027 | Nov 2026 | Feb 2026 | Aug 2025 | Feb 2025 | +| **Platforms** | | | | | | | +| RHEL 9 &
compatible distros[1](#table-note-1) | | | | – | – | – | +| RHEL 9
FIPS mode[5](#table-note-5) | | | – | – | – | – | +| RHEL 8 &
compatible distros[1](#table-note-1) | | | | | | | +| RHEL 7 &
compatible distros[1](#table-note-1) | – | – | – | :warning: | | | +| Ubuntu 22.04[2](#table-note-2) | | | – | – | – | – | +| Ubuntu 20.04[2](#table-note-2) | | | | | | – | +| Ubuntu 18.04[2](#table-note-2) | – | – | :warning: | :warning: | | | +| Ubuntu 16.04[2](#table-note-2) | – | – | – | :warning: | | | +| Amazon Linux 2 | | | | | | – | +| Amazon Linux 1 | – | – | – | | | | +| Kubernetes[3](#table-note-3) | | | | | | | +| Docker[4](#table-note-4) | | | | | | | 1. The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported. From 9c983a12809fd29efc35a7380c1003d8aa37cd80 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 21 Mar 2025 12:28:38 -0500 Subject: [PATCH 27/85] DOC-4933 Added RS 7.22.x to bundled DB versions table --- .../rs/installing-upgrading/upgrading/upgrade-database.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md b/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md index 5f4db7ca8..9617c4219 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md @@ -28,6 +28,7 @@ The default Redis database version differs between Redis Enterprise releases as | Redis
Software | Bundled Redis
DB versions | Default DB version
(upgraded/new databases) | |-------|----------|-----| +| 7.22.x | 6.2, 7.2, 7.4 | 7.4 | | 7.8.x | 6.2, 7.2, 7.4 | 7.4 | | 7.4.x | 6.0, 6.2, 7.2 | 7.2 | | 7.2.4 | 6.0, 6.2, 7.2 | 7.2 | From a49b0fdf5f1bf55262a476faeb4f02d0d7efa9b2 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 21 Mar 2025 17:47:35 -0500 Subject: [PATCH 28/85] DOC-4812 RS: Added /v2/actions REST API reference --- .../rest-api/requests/actions/_index.md | 170 +++++++++++++++++- 1 file changed, 166 insertions(+), 4 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index 4797d9890..8374268da 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -15,7 +15,9 @@ weight: $weight | Method | Path | Description | |--------|------|-------------| | [GET](#get-all-actions) | `/v1/actions` | Get all actions | +| [GET](#get-all-actions-v2) | `/v2/actions` | Get all actions | | [GET](#get-action) | `/v1/actions/{uid}` | Get a single action | +| [GET](#get-action-v2) | `/v2/actions/{uid}` | Get a single action | ## Get all actions {#get-all-actions} @@ -25,6 +27,8 @@ GET /v1/actions Get the status of all running, pending, or completed actions on all clusters, nodes, and databases. This API tracks long-lived API requests that return either a `task_id` or an `action_uid`. +This API does not return any information about other actions, such as import, export, and backup. To get info about these actions, use [`GET /v2/actions`](#get-all-actions-v2). + #### Required permissions | Permission name | @@ -95,8 +99,84 @@ Regardless of an action’s source, each action in the response contains the fol | Code | Description | |------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, response provides info about an ongoing action | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action does not exist (i.e. not currently running and no available status of last run).| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run).| + +## Get all actions {#get-all-actions-v2} + +``` +GET /v2/actions +``` + +Get the status of all currently running, pending, or completed actions from tasks, state-machines, and other actions, including import, export, and backup. This API tracks long-lived API requests that return either a `task_id` or an `action_uid`. + +#### Required permissions + +| Permission name | +|-----------------| +| [view_status_of_cluster_action]({{< relref "/operate/rs/references/rest-api/permissions#view_status_of_cluster_action" >}}) | + +### Request {#get-all-request-v2} + +#### Example HTTP request + +``` +GET /v2/actions +``` + +### Response {#get-all-response-v2} + +Returns a JSON array of v2 [action objects]({{< relref "/operate/rs/references/rest-api/objects/action" >}}). + +The v2 action object includes the following fields: + +| Field | Type/Value | Description | +|-------|------------|-------------| +| action_uid | string | The action's globally unique identifier | +| action_type | "task"
"state-machine"
"other" | The action's type | +| creation_time | integer | The action's creation time. Unix timestamp in seconds. | +| name | string | Name of the running or failed state machine | +| progress | float (range: 0-100) | Percent of completed steps for the action | +| status | "pending"
"active"
"completed"
"failed" | The action's status | +| additional_info | JSON object | A dictionary that can include additional information about the action | + +The `additional_info` object can contain any of the following fields: + +| Field | Type/Value | Description | +|-------|------------|-------------| +| description | string | Short description of the action | +| error | string | A message that describes what error occurred if the action failed | +| object_type | string | The type of object that was processed in the action, such as BDB or node | +| object_uid | string | The unique ID of the object processed in the action | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | + +Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. + +#### Example JSON body + +```json +[ + { + "action_type": "task", + "action_uid": "6155403f-c26f-40ab-8afc-23ed663973f6", + "additional_info": { + "object_type": "node", + "object_uid": "1" + }, + "creation_time": 1742595918, + "name": "retry_bdb", + "progress": 100.0, + "status": "completed" + }, + // Additional task objects +] +``` + +### Status codes {#get-all-status-codes-v2} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | ## Get a specific action {#get-action} @@ -106,6 +186,8 @@ GET /v1/actions/{uid} Get the status of a specific action. +This API does not return any information about other actions, such as import, export, and backup. To get info about these actions, use [`GET /v2/actions/`](#get-action-v2). + #### Required permissions | Permission name | @@ -160,5 +242,85 @@ Regardless of an action’s source, each action contains the following attribute | Code | Description | |------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, response provides info about an ongoing action | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action does not exist (i.e. not currently running and no available status of last run) | +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run) | + +## Get a specific action {#get-action-v2} + +``` +GET /v2/actions/{uid} +``` + +Get the status of a specific action. This API can also return information about actions like import, export, and backup. + +#### Required permissions + +| Permission name | +|-----------------| +| [view_status_of_cluster_action]({{< relref "/operate/rs/references/rest-api/permissions#view_status_of_cluster_action" >}}) | + +### Request {#get-request-v2} + +#### Example HTTP request + +``` +GET /v2/actions/{uid} +``` + +#### URL parameters + +| Field | Type | Description | +|-------|------|-------------| +| uid | string | The action_uid to check | + +### Response {#get-response-v2} + +Returns a v2 [action object]({{}}). + +The v2 action object includes the following fields: + +| Field | Type/Value | Description | +|-------|------------|-------------| +| action_uid | string | The action's globally unique identifier | +| action_type | "task"
"state-machine"
"other" | The action's type | +| creation_time | integer | The action's creation time. Unix timestamp in seconds. | +| name | string | Name of the running or failed state machine | +| progress | float (range: 0-100) | Percent of completed steps for the action | +| status | "pending"
"active"
"completed"
"failed" | The action's status | +| additional_info | JSON object | A dictionary that can include additional information about the action | + +The `additional_info` object can contain any of the following fields: + +| Field | Type/Value | Description | +|-------|------------|-------------| +| description | string | Short description of the action | +| error | string | A message that describes what error occurred if the action failed | +| object_type | string | The type of object that was processed in the action, such as BDB or node | +| object_uid | string | The unique ID of the object processed in the action | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | + +Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. + +#### Example JSON body + +```json +{ + "action_type": "task", + "action_uid": "6155403f-c26f-40ab-8afc-23ed663973f6", + "additional_info": { + "object_type": "node", + "object_uid": "1" + }, + "creation_time": 1742595918, + "name": "retry_bdb", + "progress": 100.0, + "status": "completed" +} +``` + +### Status codes {#get-status-codes-v2} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run) | From fc15a81c640a8baf5edca36b80a4acc2f1b44cef Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 14:30:36 -0500 Subject: [PATCH 29/85] Removed preview notes from metrics stream engine docs --- .../prometheus-metrics-definitions.md | 6 +----- content/operate/rs/monitoring/_index.md | 6 +++--- content/operate/rs/monitoring/metrics_stream_engine.md | 8 ++++---- content/operate/rs/references/metrics/_index.md | 4 ++-- .../rs/references/metrics/prometheus-metrics-v2.md | 6 +----- 5 files changed, 11 insertions(+), 19 deletions(-) diff --git a/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md b/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md index 1cf3fb5bb..94ad91ced 100644 --- a/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md +++ b/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md @@ -1,5 +1,5 @@ --- -Title: Prometheus metrics v2 preview +Title: Prometheus metrics v2 alwaysopen: false categories: - docs @@ -14,10 +14,6 @@ weight: 50 tocEmbedHeaders: true --- -{{}} -While the metrics stream engine is in preview, this document provides only a partial list of v2 metrics. More metrics will be added. -{{}} - You can [integrate Redis Enterprise Software with Prometheus and Grafana]({{}}) to create dashboards for important metrics. The v2 metrics in the following tables are available as of Redis Enterprise Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL]({{}}). diff --git a/content/operate/rs/monitoring/_index.md b/content/operate/rs/monitoring/_index.md index 42952af90..00c83810e 100644 --- a/content/operate/rs/monitoring/_index.md +++ b/content/operate/rs/monitoring/_index.md @@ -22,11 +22,11 @@ In the Redis Enterprise Cluster Manager UI, you can view metrics, configure aler See [Metrics and alerts for monitoring v1]({{}}) for more information. -## Metrics stream engine preview +## Metrics stream engine -A preview of the new metrics stream engine is available as of [Redis Enterprise Software version 7.8.2]({{}}). This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. +The new metrics stream engine is generally available as of [Redis Enterprise Software version 7.22]({{}}). This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. -See [Metrics stream engine preview for monitoring v2]({{}}) for more information. +See [Metrics stream engine for monitoring v2]({{}}) for more information. ## Integrate with external monitoring tools diff --git a/content/operate/rs/monitoring/metrics_stream_engine.md b/content/operate/rs/monitoring/metrics_stream_engine.md index 6a799e229..d317adfe8 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine.md +++ b/content/operate/rs/monitoring/metrics_stream_engine.md @@ -1,18 +1,18 @@ --- -Title: Metrics stream engine preview for monitoring v2 +Title: Metrics stream engine for monitoring v2 alwaysopen: false categories: - docs - operate - rs - kubernetes -description: Preview the new metrics stream engine for monitoring Redis Enterprise Software. +description: The new metrics stream engine for monitoring Redis Enterprise Software. hideListLinks: true -linkTitle: Metrics stream engine preview for monitoring v2 +linkTitle: Metrics stream engine for monitoring v2 weight: 60 --- -A preview of the new metrics stream engine is available as of [Redis Enterprise Software version 7.8.2]({{}}). +The new metrics stream engine is generally available as of [Redis Enterprise Software version 7.22]({{}}). The new metrics stream engine: diff --git a/content/operate/rs/references/metrics/_index.md b/content/operate/rs/references/metrics/_index.md index 9b5c0f7f6..ca9259de5 100644 --- a/content/operate/rs/references/metrics/_index.md +++ b/content/operate/rs/references/metrics/_index.md @@ -28,7 +28,7 @@ you can connect your [Prometheus](https://prometheus.io/) and [Grafana](https:// See [Prometheus integration]({{< relref "/operate/rs/monitoring/prometheus_and_grafana" >}}) to learn how to connect Prometheus and Grafana to your Redis Enterprise database. -Redis Enterprise version 7.8.2 introduces a preview of the new metrics stream engine that exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`. +The new metrics stream engine that exposes the v2 Prometheus scraping endpoint at `https://:8070/v2` is generally available as of Redis Enterprise Software version 7.22. This new engine exports all time-series metrics to external monitoring tools such as Grafana, DataDog, NewRelic, and Dynatrace using Prometheus. The new engine enables real-time monitoring, including full monitoring during maintenance operations, providing full visibility into performance during events such as shards' failovers and scaling operations. @@ -37,7 +37,7 @@ For a list of available metrics, see the following references: - [Prometheus metrics v1]({{}}) -- [Prometheus metrics v2 preview]({{}}) +- [Prometheus metrics v2]({{}}) If you are already using the existing scraping endpoint for integration, follow [this guide]({{}}) to transition and try the new engine. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. diff --git a/content/operate/rs/references/metrics/prometheus-metrics-v2.md b/content/operate/rs/references/metrics/prometheus-metrics-v2.md index 5d7c064be..599944df3 100644 --- a/content/operate/rs/references/metrics/prometheus-metrics-v2.md +++ b/content/operate/rs/references/metrics/prometheus-metrics-v2.md @@ -1,5 +1,5 @@ --- -Title: Prometheus metrics v2 preview +Title: Prometheus metrics v2 alwaysopen: false categories: - docs @@ -14,10 +14,6 @@ weight: 50 tocEmbedHeaders: true --- -{{}} -While the metrics stream engine is in preview, this document provides only a partial list of v2 metrics. More metrics will be added. -{{}} - You can [integrate Redis Enterprise Software with Prometheus and Grafana]({{}}) to create dashboards for important metrics. The v2 metrics in the following tables are available as of Redis Enterprise Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL]({{}}). From baa556525e17984973494a20c1c9bd8b45bcc05f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 14:35:00 -0500 Subject: [PATCH 30/85] Added metrics stream engine GA to RS April release notes --- .../rs/release-notes/rs-7-22-releases/_index.md | 14 ++++++++++++-- .../rs-7-22-releases/rs-7-22-x-tba.md | 6 +++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 424256513..ca3b91756 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. TBA +description: New pricing and packaging. Metrics stream engine GA. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -21,7 +21,17 @@ This version offers: - New pricing and packaging -- TBA +- Metrics stream engine GA + +- Revamp database API + +- Migration status API + +- Usage report API + +- Two-dimensional rack awareness + +- v2 actions API ## Detailed release notes diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 92f8f7a7e..58bbac940 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. +description: New pricing and packaging. Metrics stream engine GA. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -19,6 +19,8 @@ This version offers: - New pricing and packaging +- Metrics stream engine GA + - Revamp database API - Migration status API @@ -41,6 +43,8 @@ This version offers: - Replaces the deprecated request to [optimize shards placement]({{}}). +- The [metrics stream engine]({{}}) is now generally available. + - Migration status REST API request, which reports the migration status of a database in the cluster. - Usage report API request From 38f1142a84375726ed04af34b8cbfeacc88f156a Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 14:38:35 -0500 Subject: [PATCH 31/85] DOC-4980 Added deprecation for internal monitoring/v1 metrics to RS April release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 6 ++++-- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index ca3b91756..7be124dec 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -55,9 +55,11 @@ For more detailed release notes, select a build version from the following table - TBA -#### V1 Prometheus metrics deprecation +#### Internal monitoring and v1 Prometheus metrics deprecation - V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [Prometheus v1 metrics and equivalent v2 PromQL]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. +The existing [internal monitoring engine]({{}}) is deprecated. We recommend transitioning to the new [metrics stream engine]({{}}) for improved performance, enhanced integration capabilities, and modernized metrics streaming. + +V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [this guide]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. ### Upcoming changes diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 58bbac940..cfbbcce52 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -183,9 +183,11 @@ The following table shows which Redis modules are compatible with each Redis dat - TBA -#### V1 Prometheus metrics deprecation +#### Internal monitoring and v1 Prometheus metrics deprecation - V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [Prometheus v1 metrics and equivalent v2 PromQL]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. +The existing [internal monitoring engine]({{}}) is deprecated. We recommend transitioning to the new [metrics stream engine]({{}}) for improved performance, enhanced integration capabilities, and modernized metrics streaming. + +V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [this guide]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. ### Upcoming changes From d4632483843c09207a4429445144a3b33413729f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 15:20:28 -0500 Subject: [PATCH 32/85] DOC-4932 Upgrading directly from RS 6.2.x to 7.22.x is not supported --- content/embeds/rs-upgrade-paths.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/embeds/rs-upgrade-paths.md b/content/embeds/rs-upgrade-paths.md index 4f7920a21..26d10e922 100644 --- a/content/embeds/rs-upgrade-paths.md +++ b/content/embeds/rs-upgrade-paths.md @@ -8,7 +8,7 @@ |:-----------------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:| | 6.0.x | | | | :x: | :x: | :x: | | 6.2.4
6.2.8 | | | | | :x: | :x: | -| 6.2.10
6.2.12
6.2.18 | | | | | | ? | +| 6.2.10
6.2.12
6.2.18 | | | | | | :x: | | 6.4.x | – | | | | | | | 7.2.x | – | – | | | | | | 7.4.x | – | – | – | | | | From 6ad73c30248b5a64a29bdc2e44b020b7e8996f42 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 16:26:44 -0500 Subject: [PATCH 33/85] DOC-4920 Fixed pending_ops heartbeat and last_sample_time descriptions in action REST API reference --- .../operate/rs/references/rest-api/requests/actions/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index bcf08bfb8..e3fc43931 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -52,7 +52,7 @@ Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. @@ -139,7 +139,7 @@ Returns an [action object]({{< relref "/operate/rs/references/rest-api/objects/a | node_uid | string | UID of the node where the operation runs (optional) | | object_name | string | The object that the action runs on (optional) | | state | string | The current state of the state machine (optional) | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. From fa5c530d0bc2890d988f1e36c9f2c9aaaec52ea6 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 24 Mar 2025 16:52:19 -0500 Subject: [PATCH 34/85] DOC-4812 Feedback updates for creation_time, additional_info, heartbeat, and last_sample_time in v2 action REST API reference --- .../rest-api/requests/actions/_index.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index f36b0c365..f4474c4e5 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -19,7 +19,7 @@ weight: $weight | [GET](#get-action) | `/v1/actions/{uid}` | Get a single action | | [GET](#get-action-v2) | `/v2/actions/{uid}` | Get a single action | -## Get all actions {#get-all-actions} +## Get all actions v1 {#get-all-actions} ``` GET /v1/actions @@ -102,7 +102,7 @@ Regardless of an action’s source, each action in the response contains the fol | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | | [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run).| -## Get all actions {#get-all-actions-v2} +## Get all actions v2 {#get-all-actions-v2} ``` GET /v2/actions @@ -138,7 +138,7 @@ The v2 action object includes the following fields: | name | string | Name of the running or failed state machine | | progress | float (range: 0-100) | Percent of completed steps for the action | | status | "pending"
"active"
"completed"
"failed" | The action's status | -| additional_info | JSON object | A dictionary that can include additional information about the action | +| additional_info | JSON object | A dictionary that can include additional information about the action; only included in the response if it contains at least one key-value pair | The `additional_info` object can contain any of the following fields: @@ -148,9 +148,9 @@ The `additional_info` object can contain any of the following fields: | error | string | A message that describes what error occurred if the action failed | | object_type | string | The type of object that was processed in the action, such as BDB or node | | object_uid | string | The unique ID of the object processed in the action | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: **last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | -Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `status`, and `progress`. +Regardless of an action’s source, each action in the response contains the following attributes: `name`, `action_uid`, `creation_time`, `status`, and `progress`. #### Example JSON body @@ -178,7 +178,7 @@ Regardless of an action’s source, each action in the response contains the fol |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | -## Get a specific action {#get-action} +## Get a specific action v1 {#get-action} ``` GET /v1/actions/{uid} @@ -245,7 +245,7 @@ Regardless of an action’s source, each action contains the following attribute | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | | [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run) | -## Get a specific action {#get-action-v2} +## Get a specific action v2 {#get-action-v2} ``` GET /v2/actions/{uid} @@ -287,7 +287,7 @@ The v2 action object includes the following fields: | name | string | Name of the running or failed state machine | | progress | float (range: 0-100) | Percent of completed steps for the action | | status | "pending"
"active"
"completed"
"failed" | The action's status | -| additional_info | JSON object | A dictionary that can include additional information about the action | +| additional_info | JSON object | A dictionary that can include additional information about the action; only included in the response if it contains at least one key-value pair | The `additional_info` object can contain any of the following fields: @@ -297,9 +297,9 @@ The `additional_info` object can contain any of the following fields: | error | string | A message that describes what error occurred if the action failed | | object_type | string | The type of object that was processed in the action, such as BDB or node | | object_uid | string | The unique ID of the object processed in the action | -| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The last time in seconds since the epoch when a snapshot of the operation was saved.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | +| pending_ops | JSON object | List of operations that are waiting to run (optional)
{{}}"pending_ops": {
"3": {
"heartbeat": integer,
"snapshot": { ... },
"last_sample_time": integer,
"op_name": string,
"status_code": string,
"status_description": string,
"progress": float
}
}{{
}}
`pending_ops` is a map where the key is the `shard_id`, and the value is a map that can include the following optional fields:
**heartbeat**: The time, in seconds since the Unix epoch, since the last change in the progress of the operation.
**snapshot**: A map of properties stored by the operation that are needed to run.
**last_sample_time**: The time, in seconds since the Unix epoch, when the last snapshot of the operation was taken.
**op_name**: The name of the operation from the state machine that is running.
**status_code**: The code for the operation's current status.
**status_description**: The operation's current status.
**progress**: The operation's progress in percentage (1 to 100). | -Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `status`, and `progress`. +Regardless of an action’s source, each action contains the following attributes: `name`, `action_uid`, `creation_time`, `status`, and `progress`. #### Example JSON body From 37575bdbdaaf0c02c14d5a0a521692f0412b9edd Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 25 Mar 2025 09:38:57 -0500 Subject: [PATCH 35/85] DOC-4812 Feedback update to change v2 actions status type/value to string --- .../operate/rs/references/rest-api/requests/actions/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index f4474c4e5..f02444129 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -137,7 +137,7 @@ The v2 action object includes the following fields: | creation_time | integer | The action's creation time. Unix timestamp in seconds. | | name | string | Name of the running or failed state machine | | progress | float (range: 0-100) | Percent of completed steps for the action | -| status | "pending"
"active"
"completed"
"failed" | The action's status | +| status | string | The action's status | | additional_info | JSON object | A dictionary that can include additional information about the action; only included in the response if it contains at least one key-value pair | The `additional_info` object can contain any of the following fields: @@ -286,7 +286,7 @@ The v2 action object includes the following fields: | creation_time | integer | The action's creation time. Unix timestamp in seconds. | | name | string | Name of the running or failed state machine | | progress | float (range: 0-100) | Percent of completed steps for the action | -| status | "pending"
"active"
"completed"
"failed" | The action's status | +| status | string | The action's status | | additional_info | JSON object | A dictionary that can include additional information about the action; only included in the response if it contains at least one key-value pair | The `additional_info` object can contain any of the following fields: From 3a475e9ac1eaab6a972d44f98448ee82ce45ceb3 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 25 Mar 2025 16:20:12 -0500 Subject: [PATCH 36/85] DOC-4971 RS: Added usage_report REST API reference --- .../rest-api/requests/usage_report/_index.md | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 content/operate/rs/references/rest-api/requests/usage_report/_index.md diff --git a/content/operate/rs/references/rest-api/requests/usage_report/_index.md b/content/operate/rs/references/rest-api/requests/usage_report/_index.md new file mode 100644 index 000000000..1a6de2e98 --- /dev/null +++ b/content/operate/rs/references/rest-api/requests/usage_report/_index.md @@ -0,0 +1,123 @@ +--- +Title: Usage report requests +alwaysopen: false +categories: +- docs +- operate +- rs +description: REST API request to get the database usage report from the cluster. +headerRange: '[1-2]' +hideListLinks: true +linkTitle: usage_report +weight: $weight +--- + +| Method | Path | Description | +|--------|------|-------------| +| [GET](#get-usage-report) | `/v1/usage_report` | Get the cluster's database usage report | + +## Get usage report {#get-usage-report} + +```sh +GET /v1/usage_report +``` + +Gets the database usage report from the cluster as a gzip file that contains Newline Delimited JSON (NDJSON). The final line in the file is the response's MD5 hash. + +### Request {#get-request} + +#### Example HTTP request + +```sh +GET /v1/usage_report +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +### Response {#get-response} + +Returns a gzip file that contains Newline Delimited JSON (NDJSON), which represents the usage report for every database in the cluster. The final line in the file is the response's MD5 hash. + +| Field | Type/Value | Description | +|-------|------------|-------------| +| active_active | boolean | Indicates if Active-Active is enabled | +| api_version | string | API version | +| backup | boolean | Indicates if backup is enabled | +| bdb_uid | string | The database's unique ID | +| cluster_name | string | Cluster name | +| cluster_uuid | string | Cluster's unique ID | +| date | string | Date of the report, including time and time zone | +| dominant_shard_criteria | "mem"
"ops"
"rof" | Dominant criteria for shard selection | +| type | "core"
"premium"
"auto_tiering" | Database type | +| shard_type | "micro"
"normal"
"large"
"auto_tiering" | Shard type | +| no_eviction | boolean | Indicates if no eviction policy is applied | +| ops/sec | number | Consolidated ops/sec for the whole database | +| persistence | boolean | Indicates if persistence is enabled | +| provisioned_memory | number | Provisioned memory in bytes | +| replication | boolean | Indicates if replication is enabled | +| software_version | string | The Redis Enterprise Software version | +| used_memory | number | Used memory in bytes | +| using_redis_search | boolean | Indicates if RediSearch is in use | +| master_shards_count | number | Amount of primary shards | + +#### Example response + +```json +{ + "cluster_name": "mycluster.local", + "cluster_uuid": "7e9f93c6-825e-4bbb-a067-7f6306b98609", + "date": "2024-08-08T13:16:00.000000Z", + "software_version": "7.0.0", + "api_version" "1", + "bdb_uid": "1", + "type": "auto_tiering", + "shard_type": "auto_tiering", + "dominant_shard_criteria": "rof", + "provisioned_memory": 1073741824, + "used_memory": 5828776, + "master_shards_count": 3, + "no_eviction": false, + "persistence": false, + "backup": false, + "using_redis_search": false, + "ops_sec": 0, + "replication": false, + "active_active": false +} +{ + "cluster_name": "mycluster.local", + "cluster_uuid": "7e9f93c6-825e-4bbb-a067-7f6306b98609", + "date": "2024-08-08T13:17:00.000000Z", + "software_version": "7.0.0", + "api_version" "1", + "bdb_uid": "1", + "type": "auto_tiering", + "shard_type": "auto_tiering", + "dominant_shard_criteria": "rof", + "provisioned_memory": 1073741824, + "used_memory": 5828776, + "master_shards_count": 3, + "no_eviction": false, + "persistence": false, + "backup": false, + "using_redis_search": false, + "ops_sec": 0, + "replication": false, + "active_active": false +} +... + +``` + +#### Status codes {#get-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Invalid date format | +| [503 Service Unavailable](https://www.rfc-editor.org/rfc/rfc9110.html#name-503-service-unavailable) | Unreachable node | From 7533697c1bd8e49855352f13456bb44af77d4201 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 25 Mar 2025 16:44:40 -0500 Subject: [PATCH 37/85] DOC-4970 RS: Added migration status REST API reference --- .../rest-api/requests/migrations/_index.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 content/operate/rs/references/rest-api/requests/migrations/_index.md diff --git a/content/operate/rs/references/rest-api/requests/migrations/_index.md b/content/operate/rs/references/rest-api/requests/migrations/_index.md new file mode 100644 index 000000000..35cbaa357 --- /dev/null +++ b/content/operate/rs/references/rest-api/requests/migrations/_index.md @@ -0,0 +1,75 @@ +--- +Title: Migrations requests +alwaysopen: false +categories: +- docs +- operate +- rs +description: REST API request to get the migration status of a database in the cluster. +headerRange: '[1-2]' +hideListLinks: true +linkTitle: migrations +weight: $weight +--- + +| Method | Path | Description | +|--------|------|-------------| +| [GET](#get-migrations) | `/v1/migrations/` | Get database migration status | + +## Get migration status {#get-migrations} + +```sh +GET /v1/migrations/ +``` + +Gets the migration status of a database in the cluster. + +#### Required permissions + +| Permission name | +|-----------------| +| [view_bdb_info]({{< relref "/operate/rs/references/rest-api/permissions#view_bdb_info" >}}) | + +### Request {#get-request} + +#### Example HTTP request + +```sh +GET /v1/migrations/1 +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +#### URL parameters + +| Field | Type | Description | +|-------|------|-------------| +| uid | integer | The database's unique ID | + +### Response {#get-response} + +Returns a JSON array with all data required by the Azure migration orchestrator. + +#### Example response body + +```json +"migration": { + "status": "foo", + "lag": 123, + "run_id": "5", + "flush_counter": 2, + "source_shards": [{"replication_id": "1", "replication_offset": 2}] +} +``` + +#### Status codes {#get-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Database does not exist | From f0841517eea9f66b0bd0693ca5951eb4cce145d9 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 26 Mar 2025 13:52:11 -0500 Subject: [PATCH 38/85] DOC-4970 Added roles to required permissions table for migrations API --- .../rs/references/rest-api/requests/migrations/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/migrations/_index.md b/content/operate/rs/references/rest-api/requests/migrations/_index.md index 35cbaa357..bde04c464 100644 --- a/content/operate/rs/references/rest-api/requests/migrations/_index.md +++ b/content/operate/rs/references/rest-api/requests/migrations/_index.md @@ -26,9 +26,9 @@ Gets the migration status of a database in the cluster. #### Required permissions -| Permission name | -|-----------------| -| [view_bdb_info]({{< relref "/operate/rs/references/rest-api/permissions#view_bdb_info" >}}) | +| Permission name | Roles | +|-----------------|-------| +| [view_bdb_info]({{< relref "/operate/rs/references/rest-api/permissions#view_bdb_info" >}}) | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | ### Request {#get-request} From fec771a8891dc97be1949d2c6972d3560e9ddf81 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 26 Mar 2025 15:52:06 -0500 Subject: [PATCH 39/85] DOC-3959 RS: Added /bdbs/uid/actions/revamp REST API reference --- .../rest-api/requests/bdbs/actions/revamp.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 content/operate/rs/references/rest-api/requests/bdbs/actions/revamp.md diff --git a/content/operate/rs/references/rest-api/requests/bdbs/actions/revamp.md b/content/operate/rs/references/rest-api/requests/bdbs/actions/revamp.md new file mode 100644 index 000000000..81d9ddaf0 --- /dev/null +++ b/content/operate/rs/references/rest-api/requests/bdbs/actions/revamp.md @@ -0,0 +1,147 @@ +--- +Title: Revamp database requests +alwaysopen: false +categories: +- docs +- operate +- rs +description: REST API requests to update database configuration and optimize shard placement +headerRange: '[1-2]' +linkTitle: revamp +weight: $weight +--- + +| Method | Path | Description | +|--------|------|-------------| +| [PUT](#put-bdbs-actions-revamp) | `/v1/bdbs/{uid}/actions/revamp` | Update database configuration and optimize shard placement | + +## Revamp database {#put-bdbs-actions-revamp} + +```sh +PUT /v1/bdbs/{int: uid}/actions/revamp +``` + +Updates the topology-related configurations of an active database and optimizes the shard placement for the new configuration. + +#### Required permissions + +| Permission name | Roles | +|-----------------|-------| +| [update_bdb_with_action]({{< relref "/operate/rs/references/rest-api/permissions#update_bdb_with_action" >}}) | admin
cluster_member
db_member | + +### Request {#put-request} + +You can include the following parameters in the request JSON body to update their values: + +| Field | Type/Value | Description | +|-------|------------|-------------| +| avoid_nodes | array of strings | Cluster node UIDs to avoid when placing the database's shards and binding its endpoints. | +| bigstore_ram_size | integer | Memory size of bigstore RAM part. | +| memory_size | integer (default: 0) | Database memory limit in bytes. 0 is unlimited. | +| replication | boolean | If `true`, enable in-memory database replication mode. | +| shards_count | integer, (range: 1-512) (default: 1) | Number of database server-side shards. | +| shards_placement | "dense"
"sparse" | Control the density of shards. Values:
**dense**: Shards reside on as few nodes as possible.
**sparse**: Shards reside on as many nodes as possible. | + +#### Example HTTP request + +```sh +PUT /v1/bdbs/1/actions/revamp +{ + "replication": true, + "shards_count": 12 +} +``` + +Dry-run example: + +```sh +PUT /v1/bdbs/1/actions/revamp?dry_run=true +{ + "replication": true, + "shards_count": 12 +} +``` + +#### URL parameters + +| Field | Type | Description | +|-------|------|-------------| +| uid | integer | The unique ID of the database to update. | + +#### Query parameters + +| Field | Type | Description | +|-------|------|-------------| +| dry_run | boolean | If true, returns a blueprint of the database update without actually changing the database. Default is false. | +| pause_persistence | boolean | If true, pause the persistence during the update. Default is false. | + +### Response {#put-response} + +- If `dry_run` is `false`, returns an `action_uid`. You can track the action's progress with a [`GET /v1/actions/`]({{}}) request. + +- If `dry_run` is `true`, returns a blueprint of the database update. + +#### Example response + +If `dry_run` is `false`: + +```sh +{ + "action_uid": "21ad01d5-55aa-4ec6-b5c0-44dc95176486" +} +``` + +If `dry_run` is `true`: + +```sh +[ + { + "nodes": [ + { + "node_uid": "3", + "role": "master" + }, + { + "node_uid": "1", + "role": "slave" + } + ], + "slot_range": "5461-10922" + }, + { + "nodes": [ + { + "node_uid": "3", + "role": "master" + }, + { + "node_uid": "1", + "role": "slave" + } + ], + "slot_range": "10923-16383" + }, + { + "nodes": [ + { + "node_uid": "3", + "role": "master" + }, + { + "node_uid": "1", + "role": "slave" + } + ], + "slot_range": "0-5460" + } +] +``` + +#### Status codes {#put-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | When `dry_run` is false: The request is accepted and is being processed. The database state will be `active-change-pending` until the request has been fully processed.
When `dry_run` is true: No error. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Attempting to perform an action on a nonexistent database. | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | The requested configuration is invalid. | +| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | Attempting to change a database while it is busy with another configuration change. In this context, this is a temporary condition and the request should be re-attempted later. | From 36328d1ea6ab4663f9d8828c96c5c65e4d757ecb Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 26 Mar 2025 15:57:08 -0500 Subject: [PATCH 40/85] DOC-3959 DOC-4980 RS: Deprecate optimize shard placement action in 7.22 release notes and REST API reference --- .../requests/bdbs/actions/optimize_shards_placement.md | 4 ++++ .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/references/rest-api/requests/bdbs/actions/optimize_shards_placement.md b/content/operate/rs/references/rest-api/requests/bdbs/actions/optimize_shards_placement.md index d485e1200..82e8b495d 100644 --- a/content/operate/rs/references/rest-api/requests/bdbs/actions/optimize_shards_placement.md +++ b/content/operate/rs/references/rest-api/requests/bdbs/actions/optimize_shards_placement.md @@ -11,6 +11,10 @@ linkTitle: optimize_shards_placement weight: $weight --- +{{}} +This REST API path is deprecated as of Redis Enterprise Software version 7.22. Use [`PUT /v1/bdbs//actions/revamp?dry_run=true`]({{}}) instead. +{{}} + | Method | Path | Description | |--------|------|-------------| | [GET](#get-bdbs-actions-optimize-shards-placement) | `/v1/bdbs/{uid}/actions/optimize_shards_placement` | Get optimized shards placement for a database | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index cfbbcce52..86ba4ca2c 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -181,7 +181,7 @@ The following table shows which Redis modules are compatible with each Redis dat #### API deprecations -- TBA +- Deprecated [`GET /v1/bdbs//actions/optimize_shards_placement`]({{}}) REST API request. Use [`PUT /v1/bdbs//actions/revamp?dry_run=true`]({{}}) to get an optimized shard placement blueprint for a database instead. #### Internal monitoring and v1 Prometheus metrics deprecation From ed71daf1fde82b0e0d3be83c1e62f7fe069fb168 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 27 Mar 2025 11:25:52 -0500 Subject: [PATCH 41/85] DOC-4978 RS: Updated bootstrap and node REST API references for two-dimensional rack awareness --- .../rest-api/objects/bootstrap/identity.md | 1 + .../rest-api/objects/cluster_settings.md | 1 + .../rs/references/rest-api/objects/node.md | 1 + .../rest-api/requests/nodes/_index.md | 19 ++++++++++++------- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/content/operate/rs/references/rest-api/objects/bootstrap/identity.md b/content/operate/rs/references/rest-api/objects/bootstrap/identity.md index 07ddfb6e8..f8f0d31a3 100644 --- a/content/operate/rs/references/rest-api/objects/bootstrap/identity.md +++ b/content/operate/rs/references/rest-api/objects/bootstrap/identity.md @@ -20,4 +20,5 @@ weight: $weight | name | string | Node's name | | override_rack_id | boolean | When replacing an existing node in a rack-aware cluster, allows the new node to be located in a different rack | | rack_id | string | Rack ID, overrides cloud config | +| second_rack_id | string | Second rack ID where node is installed | | use_internal_ipv6 | boolean (default: false) | Node uses IPv6 for internal communication | diff --git a/content/operate/rs/references/rest-api/objects/cluster_settings.md b/content/operate/rs/references/rest-api/objects/cluster_settings.md index 92e401d6f..8e5a1fa74 100644 --- a/content/operate/rs/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster_settings.md @@ -42,6 +42,7 @@ Cluster resources management policy | max_saved_events_per_type | integer | Maximum saved events per event type | | max_simultaneous_backups | integer (default: 4) | Maximum number of backup processes allowed at the same time | | parallel_shards_upgrade | integer | Maximum number of shards to upgrade in parallel | +| max_slave_full_syncs | integer (default: 0) | Maximum number of simultaneous replica full-syncs that may be running at any given time | | persistence_cleanup_scan_interval | string | [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the Redis cleanup schedule | | persistent_node_removal | boolean | When removing a node, wait for persistence files to be created for all migrated shards | | rack_aware | boolean | Cluster operates in a rack-aware mode | diff --git a/content/operate/rs/references/rest-api/objects/node.md b/content/operate/rs/references/rest-api/objects/node.md index 7b1a256ef..e4c75cce4 100644 --- a/content/operate/rs/references/rest-api/objects/node.md +++ b/content/operate/rs/references/rest-api/objects/node.md @@ -36,6 +36,7 @@ An API object that represents a node in the cluster. | public_addr | string | Public IP address of node (deprecated as of Redis Enterprise v4.3.3, use external_addr instead) | | rack_id | string | Rack ID where node is installed | | recovery_path | string | Recovery files path | +| second_rack_id | string | Second rack ID where node is installed | | shard_count | integer | Number of shards on the node (read-only) | | shard_list | array of integers | Cluster unique IDs of all node shards | | software_version | string | Installed Redis Enterprise cluster software version (read-only) | diff --git a/content/operate/rs/references/rest-api/requests/nodes/_index.md b/content/operate/rs/references/rest-api/requests/nodes/_index.md index d758f6637..97829e1d7 100644 --- a/content/operate/rs/references/rest-api/requests/nodes/_index.md +++ b/content/operate/rs/references/rest-api/requests/nodes/_index.md @@ -168,13 +168,18 @@ Update a [node object]({{< relref "/operate/rs/references/rest-api/objects/node" Currently, you can edit the following attributes: -- `addr` - -- `external_addr` - -- `recovery_path` - -- `accept_servers` +| Field | Type/Value | Description | +|-------|------------|-------------| +| accept_servers | boolean (default: true) | The node only accepts new shards if `accept_servers` is `true` | +| addr | string | Internal IP address of node | +| external_addr | complex object | External IP addresses of node. `GET /jsonschema` to retrieve the object's structure. | +| max_listeners | integer | Maximum number of listeners on the node | +| max_redis_forks | | | +| max_redis_servers | integer | Maximum number of shards on the node | +| max_slave_full_syncs | | | +| rack_id | string | Rack ID where node is installed | +| recovery_path | string | Recovery files path | +| second_rack_id | string | Second rack ID where node is installed | {{}} You can only update the `addr` attribute for offline nodes. Otherwise, the request returns an error. From 2a197d2909d2287a8d21b4c7365e33de52cee104 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 27 Mar 2025 14:56:46 -0500 Subject: [PATCH 42/85] Add/edit mdescriptions for max_redis_forks and max_slave_full_syncs --- .../rs/references/rest-api/objects/cluster_settings.md | 3 ++- content/operate/rs/references/rest-api/objects/node.md | 2 ++ .../operate/rs/references/rest-api/requests/nodes/_index.md | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/content/operate/rs/references/rest-api/objects/cluster_settings.md b/content/operate/rs/references/rest-api/objects/cluster_settings.md index 8e5a1fa74..974328955 100644 --- a/content/operate/rs/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster_settings.md @@ -39,10 +39,11 @@ Cluster resources management policy | login_lockout_counter_reset_after | integer | Number of seconds that must elapse between failed sign in attempts before the lockout counter is reset to 0. | | login_lockout_duration | integer | Duration (in secs) of account lockout. If set to 0, the account lockout will persist until released by an admin. | | login_lockout_threshold | integer | Number of failed sign in attempts allowed before locking a user account | +| max_redis_forks | integer (default: 0) | Maximum number of background processes forked from shards that can exist on the node at any given time. 0 means unlimited. | | max_saved_events_per_type | integer | Maximum saved events per event type | | max_simultaneous_backups | integer (default: 4) | Maximum number of backup processes allowed at the same time | | parallel_shards_upgrade | integer | Maximum number of shards to upgrade in parallel | -| max_slave_full_syncs | integer (default: 0) | Maximum number of simultaneous replica full-syncs that may be running at any given time | +| max_slave_full_syncs | integer (default: 0) | Maximum number of simultaneous replica full syncs that can run at any given time. 0 means unlimited. | | persistence_cleanup_scan_interval | string | [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the Redis cleanup schedule | | persistent_node_removal | boolean | When removing a node, wait for persistence files to be created for all migrated shards | | rack_aware | boolean | Cluster operates in a rack-aware mode | diff --git a/content/operate/rs/references/rest-api/objects/node.md b/content/operate/rs/references/rest-api/objects/node.md index e4c75cce4..34143a1e4 100644 --- a/content/operate/rs/references/rest-api/objects/node.md +++ b/content/operate/rs/references/rest-api/objects/node.md @@ -26,7 +26,9 @@ An API object that represents a node in the cluster. | ephemeral_storage_size | number | Ephemeral storage size (bytes) (read-only) | | external_addr | complex object | External IP addresses of node. `GET` `/jsonschema` to retrieve the object's structure. | | max_listeners | integer | Maximum number of listeners on the node | +| max_redis_forks | integer (default: -1) | Maximum number of background processes forked from shards that can exist on the node at any given time. Set to 0 for unlimited. Set to -1 to use cluster settings. | | max_redis_servers | integer | Maximum number of shards on the node | +| max_slave_full_syncs | integer (default: -1) | Maximum number of simultaneous replica full syncs that can run at any given time. Set to 0 for unlimited. Set to -1 to use cluster settings. | | os_family | 'rhel'
'ubuntu'
'amzn' | Operating system family (read-only) | | os_name | string | Operating system name (read-only) | | os_semantic_version | string | Full version number (read-only) | diff --git a/content/operate/rs/references/rest-api/requests/nodes/_index.md b/content/operate/rs/references/rest-api/requests/nodes/_index.md index 97829e1d7..9f26c8074 100644 --- a/content/operate/rs/references/rest-api/requests/nodes/_index.md +++ b/content/operate/rs/references/rest-api/requests/nodes/_index.md @@ -172,11 +172,11 @@ Currently, you can edit the following attributes: |-------|------------|-------------| | accept_servers | boolean (default: true) | The node only accepts new shards if `accept_servers` is `true` | | addr | string | Internal IP address of node | -| external_addr | complex object | External IP addresses of node. `GET /jsonschema` to retrieve the object's structure. | +| external_addr | complex object | External IP addresses of node. `GET /v1/jsonschema` to retrieve the object's structure. | | max_listeners | integer | Maximum number of listeners on the node | -| max_redis_forks | | | +| max_redis_forks | integer (default: -1) | Maximum number of background processes forked from shards that can exist on the node at any given time. Set to 0 for unlimited. Set to -1 to use cluster settings. | | max_redis_servers | integer | Maximum number of shards on the node | -| max_slave_full_syncs | | | +| max_slave_full_syncs | integer (default: -1) | Maximum number of simultaneous replica full syncs that can run at any given time. Set to 0 for unlimited. Set to -1 to use cluster settings. | | rack_id | string | Rack ID where node is installed | | recovery_path | string | Recovery files path | | second_rack_id | string | Second rack ID where node is installed | From f43fe6a8f4c42b8335cd01560eeaaa4d10ad57b7 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 27 Mar 2025 15:23:39 -0500 Subject: [PATCH 43/85] DOC-4978 RS: Updated rladmin reference for two-dimensional rack awareness --- .../references/cli-utilities/rladmin/cluster/create.md | 2 ++ .../references/cli-utilities/rladmin/cluster/join.md | 2 ++ .../cli-utilities/rladmin/cluster/recover.md | 2 ++ .../rs/references/cli-utilities/rladmin/status.md | 10 +++++----- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/content/operate/rs/references/cli-utilities/rladmin/cluster/create.md b/content/operate/rs/references/cli-utilities/rladmin/cluster/create.md index ada4cdfd4..d72b08164 100644 --- a/content/operate/rs/references/cli-utilities/rladmin/cluster/create.md +++ b/content/operate/rs/references/cli-utilities/rladmin/cluster/create.md @@ -24,6 +24,7 @@ cluster create [ node_uid ] [ rack_aware ] [ rack_id ] + [ second_rack_id ] [ license_file ] [ ephemeral_path ] [ persistent_path ] @@ -53,6 +54,7 @@ cluster create | rack_aware | | Activates or deactivates rack awareness (optional) | | rack_id | string | The rack's unique identifier (optional) | | register_dns_suffix | | Enables database mapping to both internal and external IP addresses (optional) | +| second_rack_id | string | The unique identifier of the node's second rack ID for two-dimensional rack awareness (optional) | | username | email address | Admin user's email address | ### Returns diff --git a/content/operate/rs/references/cli-utilities/rladmin/cluster/join.md b/content/operate/rs/references/cli-utilities/rladmin/cluster/join.md index faafc95b3..2ed1efd1d 100644 --- a/content/operate/rs/references/cli-utilities/rladmin/cluster/join.md +++ b/content/operate/rs/references/cli-utilities/rladmin/cluster/join.md @@ -25,6 +25,7 @@ rladmin cluster join [ persistent_path ] [ ccs_persistent_path ] [ rack_id ] + [ second_rack_id ] [ override_rack_id ] [ replace_node ] [ flash_enabled ] @@ -55,6 +56,7 @@ rladmin cluster join | persistent_path | filepath (default: /var/opt/redislabs/persist) | Path to the persistent storage location (optional) | | rack_id | string | Moves the node to the specified rack (optional) | | replace_node | integer | Replaces the specified node with the new node (optional) | +| second_rack_id | string | The unique identifier of the node's second rack ID for two-dimensional rack awareness (optional) | | username | email address | Admin user's email address | ### Returns diff --git a/content/operate/rs/references/cli-utilities/rladmin/cluster/recover.md b/content/operate/rs/references/cli-utilities/rladmin/cluster/recover.md index d5180945b..66cf5be74 100644 --- a/content/operate/rs/references/cli-utilities/rladmin/cluster/recover.md +++ b/content/operate/rs/references/cli-utilities/rladmin/cluster/recover.md @@ -23,6 +23,7 @@ rladmin cluster recover [ persistent_path ] [ ccs_persistent_path ] [ rack_id ] + [ second_rack_id ] [ override_rack_id ] [ node_uid ] [ flash_enabled ] @@ -46,6 +47,7 @@ rladmin cluster recover | override_rack_id | | Changes to a new rack, specified by `rack_id` (optional) | | persistent_path | filepath | Path to the persistent storage location (optional) | | rack_id | string | Switches to the specified rack (optional) | +| second_rack_id | string | The unique identifier of a second rack ID for two-dimensional rack awareness (optional) | ### Returns diff --git a/content/operate/rs/references/cli-utilities/rladmin/status.md b/content/operate/rs/references/cli-utilities/rladmin/status.md index 8120e5dd2..f3241681d 100644 --- a/content/operate/rs/references/cli-utilities/rladmin/status.md +++ b/content/operate/rs/references/cli-utilities/rladmin/status.md @@ -37,7 +37,7 @@ rladmin status | extra backups | Shows periodic backup status | | extra frag | Shows fragmented memory available after the restart | | extra nodestats | Shows shards per node | -| extra rack_id | Shows `rack_id` if customer is not `rack_aware` | +| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` | | extra redis_version | Shows Redis version of all databases in the cluster | | extra state_machine | Shows execution of state machine information | | extra watchdog | Shows watchdog status | @@ -109,7 +109,7 @@ rladmin status databases | extra backups | Shows periodic backup status | | extra frag | Shows fragmented memory available after the restart | | extra nodestats | Shows shards per node | -| extra rack_id | Shows `rack_id` if customer is not `rack_aware` | +| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` | | extra redis_version | Shows Redis version of all databases in the cluster | | extra state_machine | Shows execution of state machine information | | extra watchdog | Shows watchdog status | @@ -182,7 +182,7 @@ rladmin status endpoints | extra backups | Shows periodic backup status | | extra frag | Shows fragmented memory available after the restart | | extra nodestats | Shows shards per node | -| extra rack_id | Shows `rack_id` if customer is not `rack_aware` | +| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` | | extra redis_version | Shows Redis version of all endpoints in the cluster | | extra state_machine | Shows execution of state machine information | | extra watchdog | Shows watchdog status | @@ -292,7 +292,7 @@ rladmin status nodes | extra backups | Shows periodic backup status | | extra frag | Shows fragmented memory available after the restart | | extra nodestats | Shows shards per node | -| extra rack_id | Shows `rack_id` if customer is not `rack_aware` | +| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` | | extra redis_version | Shows Redis version of all nodes in the cluster | | extra state_machine | Shows execution of state machine information | | extra watchdog | Shows watchdog status | @@ -372,7 +372,7 @@ rladmin status shards | extra backups | Shows periodic backup status | | extra frag | Shows fragmented memory available after the restart | | extra shardstats | Shows shards per node | -| extra rack_id | Shows `rack_id` if customer is not `rack_aware` | +| extra rack_id | Shows `rack_id` and `second_rack_id` even if the cluster is not `rack_aware` | | extra redis_version | Shows Redis version of all shards in the cluster | | extra state_machine | Shows execution of state machine information | | extra watchdog | Shows watchdog status | From 23bd05ea9ae3530d953d591d606824293ef84db0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Thu, 27 Mar 2025 17:14:28 -0500 Subject: [PATCH 44/85] DOC-4978 RS: Document two-dimensional rack awareness setup --- .../clusters/configure/rack-zone-awareness.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/content/operate/rs/clusters/configure/rack-zone-awareness.md b/content/operate/rs/clusters/configure/rack-zone-awareness.md index 0b23d2a8e..19a81765a 100644 --- a/content/operate/rs/clusters/configure/rack-zone-awareness.md +++ b/content/operate/rs/clusters/configure/rack-zone-awareness.md @@ -84,6 +84,95 @@ If you did not configure rack-zone awareness during cluster creation, you can co { "rack_aware": true } ``` +## Set up two-dimensional rack-zone awareness + +### New clusters + +To set up two-dimensional rack-zone awareness during cluster creation, assign a `second_rack_id` to each node in the cluster in addition to the `rack_id` using the [REST API]({{}}) or [rladmin]({{}}). + +#### REST API method + +To create a new cluster with two-dimensional rack-zone awareness using the [REST API]({{}}): + +1. Create the new cluster on a node: + + ```sh + POST /v1/bootstrap/create_cluster + { + "action": "create_cluster", + "cluster": { + "nodes": [], + "name": "" + }, + "node": { + "rack_id": "", + "second_rack_id": "" + }, + "license": "----- LICENSE START -----\n...\n----- LICENSE END -----\n", + "credentials": { + "username": "", + "password": "" + } + } + ``` + +1. Join each new node you want to add to the cluster: + + ```sh + POST /v1/bootstrap/join_cluster + { + "action": "join_cluster", + "cluster": { + "nodes": [], + "name": "" + }, + "node": { + "rack_id": "", + "second_rack_id": "" + } + "credentials": { + "username": "", + "password": "" + } + } + ``` + +#### Command-line method + +To create a new cluster with two-dimensional rack-zone awareness using the command line: + +1. Run [`rladmin cluster create`]({{}}) to create the initial cluster on one node, enable rack-zone awareness, and assign a `rack_id` and `second_rack_id`: + + ```sh + $ rladmin cluster create name \ + username \ + password \ + rack_aware \ + rack_id \ + second_rack_id + ``` + +1. Run [`rladmin cluster join`]({{}}) for each new node you want to add to the cluster and assign a different `rack_id` and `second_rack_id`: + + ```sh + $ rladmin cluster join nodes \ + username \ + password \ + rack_id \ + second_rack_id + ``` + +### Existing clusters + +You can configure two-dimensional rack-zone awareness for existing clusters using the [REST API]({{< relref "/operate/rs/references/rest-api" >}}). + +For each node in the cluster, assign a different `second_rack_id` using the REST API to [update the node]({{< relref "/operate/rs/references/rest-api/requests/nodes#put-node" >}}): + +```sh +PUT /v1/nodes/ +{ "second_rack_id": "rack-zone-ID2" } +``` + ## Enable database rack-zone awareness Before you can enable rack-zone awareness for a database, you must configure rack-zone awareness for the cluster and its nodes. For more information, see [set up rack-zone awareness](#set-up-rack-zone-awareness). From 20e5cfa71d802a31e0e4ee1360c2c1035232926d Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 15:19:45 -0500 Subject: [PATCH 45/85] DOC-4978 Fixes and copy edits for two-dimensional rack-zone awareness --- .../clusters/configure/rack-zone-awareness.md | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/content/operate/rs/clusters/configure/rack-zone-awareness.md b/content/operate/rs/clusters/configure/rack-zone-awareness.md index 19a81765a..8d176a86c 100644 --- a/content/operate/rs/clusters/configure/rack-zone-awareness.md +++ b/content/operate/rs/clusters/configure/rack-zone-awareness.md @@ -84,7 +84,9 @@ If you did not configure rack-zone awareness during cluster creation, you can co { "rack_aware": true } ``` -## Set up two-dimensional rack-zone awareness +## Set up two-dimensional rack-zone awareness + +As of Redis Enterprise Software version 7.22, you can assign a `second_rack_id` to set up two-dimensional rack-zone awareness. ### New clusters @@ -92,31 +94,35 @@ To set up two-dimensional rack-zone awareness during cluster creation, assign a #### REST API method -To create a new cluster with two-dimensional rack-zone awareness using the [REST API]({{}}): +To create a new cluster with two-dimensional rack-zone awareness, you can use [bootstrap REST API requests]({{}}): -1. Create the new cluster on a node: +1. Create the new cluster on the first node, set `rack_aware` to `true`, and assign a `rack_id` and `second_rack_id` to the first node: ```sh POST /v1/bootstrap/create_cluster { "action": "create_cluster", "cluster": { - "nodes": [], - "name": "" - }, - "node": { - "rack_id": "", - "second_rack_id": "" + "nodes": [], + "name": "" }, - "license": "----- LICENSE START -----\n...\n----- LICENSE END -----\n", "credentials": { "username": "", "password": "" + }, + "node": { + "identity": { + "rack_id": "", + "second_rack_id": "" + } + }, + "policy": { + "rack_aware": true } } ``` -1. Join each new node you want to add to the cluster: +1. Join each new node you want to add to the cluster and assign a different `rack_id` and `second_rack_id` to it: ```sh POST /v1/bootstrap/join_cluster @@ -124,15 +130,17 @@ To create a new cluster with two-dimensional rack-zone awareness using the [REST "action": "join_cluster", "cluster": { "nodes": [], - "name": "" + "name": "" }, - "node": { - "rack_id": "", - "second_rack_id": "" - } "credentials": { "username": "", "password": "" + }, + "node": { + "identity": { + "rack_id": "", + "second_rack_id": "" + } } } ``` @@ -170,7 +178,7 @@ For each node in the cluster, assign a different `second_rack_id` using the REST ```sh PUT /v1/nodes/ -{ "second_rack_id": "rack-zone-ID2" } +{ "second_rack_id": "rack-ID" } ``` ## Enable database rack-zone awareness From 61ed529cea56bb0e51f973bf571837a8a879957f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 18:15:42 -0500 Subject: [PATCH 46/85] DOC-4980 Copied optimize_shards_placement deprecation note to 7.22 release notes index --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 7be124dec..4a6ab3377 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -53,7 +53,7 @@ For more detailed release notes, select a build version from the following table #### API deprecations -- TBA +- Deprecated [`GET /v1/bdbs//actions/optimize_shards_placement`]({{}}) REST API request. Use [`PUT /v1/bdbs//actions/revamp?dry_run=true`]({{}}) to get an optimized shard placement blueprint for a database instead. #### Internal monitoring and v1 Prometheus metrics deprecation From 290cfab2b9fb9ba41614bbe870dc41e733f08a1f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 18:19:51 -0500 Subject: [PATCH 47/85] DOC-4927 Removed unused placeholders from RS April release notes --- .../rs/release-notes/rs-7-22-releases/_index.md | 12 ------------ .../rs-7-22-releases/rs-7-22-x-tba.md | 14 +------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 4a6ab3377..6361cd118 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -41,14 +41,6 @@ For more detailed release notes, select a build version from the following table ## Version changes -### Breaking changes - -- TBA - -### Product lifecycle updates - -- TBA - ### Deprecations #### API deprecations @@ -61,10 +53,6 @@ The existing [internal monitoring engine]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. -### Upcoming changes - -- TBA - ### Supported platforms The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the [supported platforms reference]({{< relref "/operate/rs/references/supported-platforms" >}}) for more details about operating system compatibility. diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 86ba4ca2c..475c70a3d 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -49,7 +49,7 @@ This version offers: - Usage report API request -- Added `secondary_rack_id` to boostrap and node configuration to support two-dimensional rack awareness. +- Added `secondary_rack_id` to boostrap and node configuration to support [two-dimensional rack awareness]({{}}). - A new version of the actions API is available at `GET /v2/actions` @@ -169,14 +169,6 @@ The following table shows which Redis modules are compatible with each Redis dat ## Version changes -### Breaking changes - -- TBA - -### Product lifecycle updates - -- TBA - ### Deprecations #### API deprecations @@ -189,10 +181,6 @@ The existing [internal monitoring engine]({{}}) now, or wait to use new preconfigured dashboards when they become available in a future release. -### Upcoming changes - -- TBA - ### Supported platforms The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the [supported platforms reference]({{< relref "/operate/rs/references/supported-platforms" >}}) for more details about operating system compatibility. From 98f29feafce4d1f043e831d952721b5cf09b4705 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 18:36:36 -0500 Subject: [PATCH 48/85] DOC-4973 RS: Added JSON active degramentation known limitation to RS April release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 4 ++++ .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 6361cd118..c016b756d 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -118,3 +118,7 @@ You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise S #### 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. + +#### Active defragmentation does not stop mid-key for JSON + +Active defragmentation does not stop mid-key for JSON data. Large keys are defragmented in full, which might cause latency spikes. diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 475c70a3d..6497e2ceb 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -253,6 +253,10 @@ You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise S 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. +#### Active defragmentation does not stop mid-key for JSON + +Active defragmentation does not stop mid-key for JSON data. Large keys are defragmented in full, which might cause latency spikes. + ## Security #### Open source Redis security fixes compatibility From d9a9c9bf1ab5f644919aeeb67639061fe208999f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 19:34:48 -0500 Subject: [PATCH 49/85] DOC-4927 RS April release notes edits --- .../release-notes/rs-7-22-releases/_index.md | 8 +++--- .../rs-7-22-releases/rs-7-22-x-tba.md | 26 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index c016b756d..9f954e49e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. Metrics stream engine GA. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. +description: Metrics stream engine GA. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -19,20 +19,20 @@ weight: 68 This version offers: -- New pricing and packaging - - Metrics stream engine GA - Revamp database API - Migration status API -- Usage report API +- Usage reports in support packages - Two-dimensional rack awareness - v2 actions API +- Additional REST API enhancements + ## Detailed release notes For more detailed release notes, select a build version from the following table: diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 6497e2ceb..3f4d4b81c 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: New pricing and packaging. Metrics stream engine GA. Revamp database API. Migration status API. Usage report API. Two-dimensional rack awareness. v2 actions API. +description: Metrics stream engine GA. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -17,25 +17,25 @@ weight: 90 This version offers: -- New pricing and packaging - - Metrics stream engine GA - Revamp database API - Migration status API -- Usage report API +- Usage reports in support packages - Two-dimensional rack awareness - v2 actions API +- Additional REST API enhancements + ## New in this release ### New features -- New pricing and packaging +- The [metrics stream engine]({{}}) is now generally available. - Revamp database REST API request: @@ -43,22 +43,16 @@ This version offers: - Replaces the deprecated request to [optimize shards placement]({{}}). -- The [metrics stream engine]({{}}) is now generally available. - - Migration status REST API request, which reports the migration status of a database in the cluster. -- Usage report API request +- Support packages now include usage reports. - Added `secondary_rack_id` to boostrap and node configuration to support [two-dimensional rack awareness]({{}}). -- A new version of the actions API is available at `GET /v2/actions` +- A new version of the actions API is available at `GET /v2/actions`. ### Enhancements -- New Cluster Manager UI enhancements: - - - TBA - - REST API enhancements: - Adjusted the API to [get the database recovery plan]({{}}) to only return the best persistence file per slot range for databases with `master_persistence` enabled. @@ -235,6 +229,12 @@ The following table shows the SHA256 checksums for the available packages: ## Known limitations +#### Upload modules before OS upgrade + +If the cluster contains any databases that use modules, you must upload module packages for the target OS version to a node in the existing cluster before you upgrade the cluster's operating system. + +See [Upgrade a cluster's operating system]({{}}) for detailed upgrade instructions. + #### New Cluster Manager UI limitations The following legacy UI features are not yet available in the new Cluster Manager UI: From e9402180414948df8e525c42f4359cd871ed5f27 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 20:00:36 -0500 Subject: [PATCH 50/85] DOC-4937 Added 7.22.0 resolved issues to RS April release notes --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 3f4d4b81c..50072b84e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -161,6 +161,12 @@ The following table shows which Redis modules are compatible with each Redis dat - RS135446: Added cleanup of temporary files after `debug_info` generation failures. +- RS151534: Fixed a permissions issue for `crdb-cli.log` that caused `crdb-cli crdb list` to fail for users in the `redislabs` group. + +- RS150746: Added a retry mechanism in case the DMC fails to create a listener on a database port. + +- RS145047: Fixed an issue where repeated error messages were excessively logged when the auditing server was no longer reachable. + ## Version changes ### Deprecations From 24bb8bafb3705dccf951b38e80ed297857200d50 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 28 Mar 2025 20:06:55 -0500 Subject: [PATCH 51/85] DOC-4937 Added relrefs to RS April release notes new features --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 50072b84e..0ca45f38d 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -37,19 +37,19 @@ This version offers: - The [metrics stream engine]({{}}) is now generally available. -- Revamp database REST API request: +- [Revamp database REST API requests]({{}}): - Updates topology-related configurations of an active database and optimises the shards placement for the new configuration. Example configuration parameters include `memory_size`, `shards_count`, `avoid_nodes`, `shards_placement`, `bigstore_ram_size`, and `replication`. - - Replaces the deprecated request to [optimize shards placement]({{}}). + - `PUT /v1/bdbs//actions/revamp?dry_run=true` replaces the deprecated request to [optimize shards placement]({{}}). -- Migration status REST API request, which reports the migration status of a database in the cluster. +- [Migration status REST API request]({{}}), which reports the migration status of a database in the cluster. -- Support packages now include usage reports. +- [Support packages]({{}}) now include [usage reports]({{}}). - Added `secondary_rack_id` to boostrap and node configuration to support [two-dimensional rack awareness]({{}}). -- A new version of the actions API is available at `GET /v2/actions`. +- A new version of the [actions API]({{}}) is available at `GET /v2/actions`. ### Enhancements From 242d17c0fe83743cee7c6abb5249b7618d3a5347 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 31 Mar 2025 16:54:15 -0500 Subject: [PATCH 52/85] DOC-4978 Feedback update to add more info about when to use two-dimensional rack-zone awareness --- .../operate/rs/clusters/configure/rack-zone-awareness.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/clusters/configure/rack-zone-awareness.md b/content/operate/rs/clusters/configure/rack-zone-awareness.md index 8d176a86c..6d01abd3c 100644 --- a/content/operate/rs/clusters/configure/rack-zone-awareness.md +++ b/content/operate/rs/clusters/configure/rack-zone-awareness.md @@ -15,7 +15,7 @@ Rack-zone awareness helps ensure high availability in the event of a rack or zon When you enable rack-zone awareness in a Redis Enterprise Software cluster, you assign a [rack-zone ID](#rack-zone-id-rules) to each node. This ID is used to map the node to a -physical rack or logical zone. The cluster can then ensure that master shards, corresponding replica shards, and associated endpoints are placed on [nodes in different racks or zones](#node-layout-guidelines). +physical rack or logical zone. The cluster can then ensure that primary shards, corresponding replica shards, and associated endpoints are placed on [nodes in different racks or zones](#node-layout-guidelines). In the event of a rack or zone failure, the replicas and endpoints in the remaining racks and zones are promoted. This ensures high availability when a rack or zone fails. @@ -88,6 +88,8 @@ If you did not configure rack-zone awareness during cluster creation, you can co As of Redis Enterprise Software version 7.22, you can assign a `second_rack_id` to set up two-dimensional rack-zone awareness. +You can use two-dimensional rack-zone awareness to create logical zones within a zone or rack. The primary and replica node placement and failovers within the `second_rack_id` follow the same rules as `rack_id`. + ### New clusters To set up two-dimensional rack-zone awareness during cluster creation, assign a `second_rack_id` to each node in the cluster in addition to the `rack_id` using the [REST API]({{}}) or [rladmin]({{}}). @@ -250,4 +252,4 @@ After you enable rack-zone awareness for an existing database, you should genera ## Shard placement without rack-zone awareness -Even if a database has rack-zone awareness turned off, the cluster still ensures that master and replica shards are placed on distinct nodes. +Even if a database has rack-zone awareness turned off, the cluster still ensures that primary and replica shards are placed on distinct nodes. From 529439fd3ca2bd417f574a740ee08f18eed17f62 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 12:12:33 -0500 Subject: [PATCH 53/85] DOC-4927 AUpdated port reserved for authentication_service --- content/operate/rs/7.4/networking/port-configurations.md | 2 +- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/7.4/networking/port-configurations.md b/content/operate/rs/7.4/networking/port-configurations.md index 16afb5513..2b8bcf710 100644 --- a/content/operate/rs/7.4/networking/port-configurations.md +++ b/content/operate/rs/7.4/networking/port-configurations.md @@ -37,7 +37,7 @@ Redis Enterprise Software's port usage falls into three general categories: | UDP | 53, 5353 | ❌ No | Internal, External | DNS/mDNS traffic | | ICMP | * | ❌ No | Internal | Connectivity checking between nodes | | TCP | 1968 | ❌ No | Internal | Proxy traffic | -| TCP | 3333-3345, 36379, 36380 | ❌ No | Internal | Internode communication | +| TCP | 3333-3346, 36379, 36380 | ❌ No | Internal | Internode communication | | TCP | 20000-29999 | ❌ No | Internal | Database shard traffic | | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| | TCP | 8444, 9080 | ❌ No | Internal | Traffic between web proxy and cnm_http/cm | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 0ca45f38d..181466ef3 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -85,8 +85,8 @@ This version offers: | Port | Process name | Usage | |------|--------------|-------| + | 3346 | authentication_service | Authentication service internal port | | 3351 | cluster_watchdog_grpc_api | Cluster watchdog now supports gRPC | - | 3355 | authenticator | Authentication service internal port | | 9082 | cluster_api_internal | Cluster API internal port | ### Redis database versions From 8586df7a20cdf9202ed9305f082f804aa291226c Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 12:52:49 -0500 Subject: [PATCH 54/85] DOC-4927 Deprecated /v2/bdbs recovery_plan's data_files option in favor of the new original_bdb_shards option --- .../rs/references/rest-api/requests/bdbs/_index.md | 9 +++++---- .../operate/rs/release-notes/rs-7-22-releases/_index.md | 2 ++ .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 6 ++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/bdbs/_index.md b/content/operate/rs/references/rest-api/requests/bdbs/_index.md index 7db4438e5..679a9e5f6 100644 --- a/content/operate/rs/references/rest-api/requests/bdbs/_index.md +++ b/content/operate/rs/references/rest-api/requests/bdbs/_index.md @@ -581,11 +581,12 @@ Include a JSON object that contains a [BDB object]({{< relref "/operate/rs/refer "shards_count": 1 }, "recovery_plan": { - "data_files": [ + "original_bdb_shards": [ { - "shard_slots": "0-16383", - "node_uid": "1", - "filename": "redis-4.rdb" + "assigned_slots": "0-16383", + "node_uid": "1", + "role": "master", + "uid": "1" } ] } diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 9f954e49e..674186c99 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -47,6 +47,8 @@ For more detailed release notes, select a build version from the following table - Deprecated [`GET /v1/bdbs//actions/optimize_shards_placement`]({{}}) REST API request. Use [`PUT /v1/bdbs//actions/revamp?dry_run=true`]({{}}) to get an optimized shard placement blueprint for a database instead. +- Deprecated the `data_files` option for the `recovery_plan` specified in [`POST /v2/bdbs`]({{}}) requests. Use the new `original_bdb_shards` option to recover a database from the provided list of shards instead. + #### Internal monitoring and v1 Prometheus metrics deprecation The existing [internal monitoring engine]({{}}) is deprecated. We recommend transitioning to the new [metrics stream engine]({{}}) for improved performance, enhanced integration capabilities, and modernized metrics streaming. diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 181466ef3..5ce371cc5 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -79,8 +79,12 @@ This version offers: - Added the following active defragmentation parameters to database configuration: `activedefrag`, `active_defrag_cycle_max`, `active_defrag_cycle_min`, `active_defrag_ignore_bytes`, `active_defrag_max_scan_fields`, `active_defrag_threshold_lower`, and `active_defrag_threshold_upper`. + - Added an `original_bdb_shards` option for the `recovery_plan` specified in [`POST /v2/bdbs`]({{}}) requests to recover a database from the provided list of shards. + - Added module information to database creation log messages. +- Performance improvements for full-sync replication flows. + - Reserved the following ports: | Port | Process name | Usage | @@ -175,6 +179,8 @@ The following table shows which Redis modules are compatible with each Redis dat - Deprecated [`GET /v1/bdbs//actions/optimize_shards_placement`]({{}}) REST API request. Use [`PUT /v1/bdbs//actions/revamp?dry_run=true`]({{}}) to get an optimized shard placement blueprint for a database instead. +- Deprecated the `data_files` option for the `recovery_plan` specified in [`POST /v2/bdbs`]({{}}) requests. Use the new `original_bdb_shards` option to recover a database from the provided list of shards instead. + #### Internal monitoring and v1 Prometheus metrics deprecation The existing [internal monitoring engine]({{}}) is deprecated. We recommend transitioning to the new [metrics stream engine]({{}}) for improved performance, enhanced integration capabilities, and modernized metrics streaming. From d592bc98037cb2dd9add306ddd2546aeef4f123b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 13:26:32 -0500 Subject: [PATCH 55/85] DOC-4927 Added performance improvements to 7.22 release notes --- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 5ce371cc5..cc1c9f5ab 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -85,6 +85,14 @@ This version offers: - Performance improvements for full-sync replication flows. +- Additional performance improvements: + + - Introduced proxy optimizations for single-sharded databases when a user sends a pipeline of commands. + + - Enabled deeper default optimization levels on the proxy, namely O3 and link time optimization (LTO). + + - Introduced `redis-last` shard optimizations that improved overall baseline performance for `@fast` commands. + - Reserved the following ports: | Port | Process name | Usage | From 217fc9c41dce91ff0fe91eac891525eab8ce277b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 13:48:10 -0500 Subject: [PATCH 56/85] DOC-4927 Added endpoint availability metrics known issue and workaround to 7.22 release notes --- content/operate/rs/monitoring/db-availability.md | 14 ++++++++++++++ .../rs/release-notes/rs-7-22-releases/_index.md | 12 ++++++++++++ .../rs-7-22-releases/rs-7-22-x-tba.md | 12 ++++++++++++ 3 files changed, 38 insertions(+) diff --git a/content/operate/rs/monitoring/db-availability.md b/content/operate/rs/monitoring/db-availability.md index a3bb259f1..12da0b47b 100644 --- a/content/operate/rs/monitoring/db-availability.md +++ b/content/operate/rs/monitoring/db-availability.md @@ -58,3 +58,17 @@ The following table shows the relationship between a database's status and avail | import-pending | Available | | pending | Available | | recovery | :x: Not available | + +## Known issues + +- RS155734: Endpoint availability metrics do not work as expected due to a calculation error. As a workaround, use this query to measure availability: + + ```sh + endpoint_server_became_unavailable{cluster="$cluster", db="$db"} + - + endpoint_server_available_again{cluster="$cluster", db="$db"} + ``` + + For up: 0-2 + + For down: 2-1000000 diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 674186c99..67baf6a35 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -95,6 +95,18 @@ The following table provides a snapshot of supported platforms as of this Redis - RS131972: Creating an ACL that contains a line break in the Cluster Manager UI can cause shard migration to fail due to ACL errors. +- RS155734: Endpoint availability metrics do not work as expected due to a calculation error. As a workaround, use this query to measure availability: + + ```sh + endpoint_server_became_unavailable{cluster="$cluster", db="$db"} + - + endpoint_server_available_again{cluster="$cluster", db="$db"} + ``` + + For up: 0-2 + + For down: 2-1000000 + ## Known limitations #### Upload modules before OS upgrade diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index cc1c9f5ab..cf64308ba 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -247,6 +247,18 @@ The following table shows the SHA256 checksums for the available packages: - RS131972: Creating an ACL that contains a line break in the Cluster Manager UI can cause shard migration to fail due to ACL errors. +- RS155734: Endpoint availability metrics do not work as expected due to a calculation error. As a workaround, use this query to measure availability: + + ```sh + endpoint_server_became_unavailable{cluster="$cluster", db="$db"} + - + endpoint_server_available_again{cluster="$cluster", db="$db"} + ``` + + For up: 0-2 + + For down: 2-1000000 + ## Known limitations #### Upload modules before OS upgrade From b2b3f292d9c049e9d51b1827b0547b41ec78efd8 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 14:48:54 -0500 Subject: [PATCH 57/85] DOC-4927 Added diagnostic logging service to 7.22 release notes and REST API reference --- .../rest-api/requests/diagnostics/_index.md | 130 ++++++++++++++++++ .../release-notes/rs-7-22-releases/_index.md | 4 +- .../rs-7-22-releases/rs-7-22-x-tba.md | 16 ++- 3 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 content/operate/rs/references/rest-api/requests/diagnostics/_index.md diff --git a/content/operate/rs/references/rest-api/requests/diagnostics/_index.md b/content/operate/rs/references/rest-api/requests/diagnostics/_index.md new file mode 100644 index 000000000..13b164e99 --- /dev/null +++ b/content/operate/rs/references/rest-api/requests/diagnostics/_index.md @@ -0,0 +1,130 @@ +--- +Title: Diagnostics requests +alwaysopen: false +categories: +- docs +- operate +- rs +description: REST API requests for the diagnostic logging service. +headerRange: '[1-2]' +hideListLinks: true +linkTitle: diagnostics +weight: $weight +--- + +| Method | Path | Description | +|--------|------|-------------| +| [GET](#get-diagnostics) | `/v1/diagnostics` | Get diagnostic logging service configuration | +| [PUT](#put-diagnostics) | `/v1/diagnostics` | Update diagnostic logging service configuration | + +## Get diagnostic logging service configuration {#get-diagnostics} + +```sh +GET /v1/diagnostics +``` + +Gets the diagnostic logging service configuration as JSON. + +#### Required permissions + +| Permission name | Roles | +|-----------------|-------| +| [view_cluster_info]({{< relref "/operate/rs/references/rest-api/permissions#view_cluster_info" >}}) | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | + +### Request {#get-request} + +#### Example HTTP request + +```sh +GET /v1/diagnostics +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +### Response {#get-response} + +Returns a JSON object that represents the diagnostic logging service configuration. + +#### Example response body + +```json +{ + "slowlog_target":{"cron_expression": "", "max_entries":50}, + "rladmin_status_target":{"cron_expression": "* * * * * *"} +} +``` + +#### Status codes {#get-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error | + +## Update diagnostic logging service configuration {#put-diagnostics} + +```sh +PUT /v1/diagnostics +``` + +Updates the diagnostic logging service configuration. + +#### Required permissions + +| Permission name | Roles | +|-----------------|-------| +| [update_cluster]({{< relref "/operate/rs/references/rest-api/permissions#update_cluster" >}}) | admin | + +### Request {#put-request} + +#### Example HTTP request + +```sh +PUT /v1/diagnostics +``` + +#### Example JSON body + +```json +{ + "rladmin_status_target": { + "cron_expression": "5 * * * *" + } +} +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +### Response {#put-response} + +Returns a JSON object that represents the updated diagnostic logging service configuration. + +#### Example response body + +```json +{ + "rladmin_status_target": { + "cron_expression": "5 * * * *" + }, + "slowlog_target": { + "cron_expression": "" + } +} +``` + +#### Status codes {#put-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error. | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad content provided. | +| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | Attempting to configure the diagnostic logging service target while it is busy with another configuration change. In this context, this is a temporary condition, and the request should be re-attempted later. | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 67baf6a35..47fa8502d 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. +description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -21,6 +21,8 @@ This version offers: - Metrics stream engine GA +- Diagnostic logging service + - Revamp database API - Migration status API diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index cf64308ba..893ea916e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. +description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -19,6 +19,8 @@ This version offers: - Metrics stream engine GA +- Diagnostic logging service + - Revamp database API - Migration status API @@ -37,6 +39,18 @@ This version offers: - The [metrics stream engine]({{}}) is now generally available. +- Diagnostic logging service: + + - New diagnostic logs for improved troubleshooting. + + - Diagnostic logs are enabled by default. + + - Logs are configurable using [REST API requests]({{}}). + + - Logs have a predefined rotation and retention policy, which can be updated as needed. + + - JSON response format for easy integration with external logging tools. + - [Revamp database REST API requests]({{}}): - Updates topology-related configurations of an active database and optimises the shards placement for the new configuration. Example configuration parameters include `memory_size`, `shards_count`, `avoid_nodes`, `shards_placement`, `bigstore_ram_size`, and `replication`. From c0742368224efaac40acc567cfada846e7c7bd36 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 14:53:12 -0500 Subject: [PATCH 58/85] DOC-4978 Removed misleading statement from two-dimensional rack-zone awareness description --- content/operate/rs/clusters/configure/rack-zone-awareness.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/clusters/configure/rack-zone-awareness.md b/content/operate/rs/clusters/configure/rack-zone-awareness.md index 6d01abd3c..c2a6c1d62 100644 --- a/content/operate/rs/clusters/configure/rack-zone-awareness.md +++ b/content/operate/rs/clusters/configure/rack-zone-awareness.md @@ -88,7 +88,7 @@ If you did not configure rack-zone awareness during cluster creation, you can co As of Redis Enterprise Software version 7.22, you can assign a `second_rack_id` to set up two-dimensional rack-zone awareness. -You can use two-dimensional rack-zone awareness to create logical zones within a zone or rack. The primary and replica node placement and failovers within the `second_rack_id` follow the same rules as `rack_id`. +You can use two-dimensional rack-zone awareness to create logical zones within a zone or rack. ### New clusters From 012e40f88eca1275878bb04c35c13903888b90fd Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 15:07:05 -0500 Subject: [PATCH 59/85] DOC-4927 Added FQDN validation method change to version changes in 7.22 release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 2 ++ .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 47fa8502d..340eb086e 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -43,6 +43,8 @@ For more detailed release notes, select a build version from the following table ## Version changes +- The fully qualified domain name is now validated using the FQDN library instead of a regex during cluster creation. + ### Deprecations #### API deprecations diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 893ea916e..d7867d63c 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -195,6 +195,8 @@ The following table shows which Redis modules are compatible with each Redis dat ## Version changes +- The fully qualified domain name is now validated using the FQDN library instead of a regex during cluster creation. + ### Deprecations #### API deprecations From 268ae4f9d49aa5d113689c4cb4cd8fcc66c74c12 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 15:19:54 -0500 Subject: [PATCH 60/85] Fixed versioning mistake for port config change --- content/operate/rs/7.4/networking/port-configurations.md | 2 +- content/operate/rs/networking/port-configurations.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/operate/rs/7.4/networking/port-configurations.md b/content/operate/rs/7.4/networking/port-configurations.md index 2b8bcf710..16afb5513 100644 --- a/content/operate/rs/7.4/networking/port-configurations.md +++ b/content/operate/rs/7.4/networking/port-configurations.md @@ -37,7 +37,7 @@ Redis Enterprise Software's port usage falls into three general categories: | UDP | 53, 5353 | ❌ No | Internal, External | DNS/mDNS traffic | | ICMP | * | ❌ No | Internal | Connectivity checking between nodes | | TCP | 1968 | ❌ No | Internal | Proxy traffic | -| TCP | 3333-3346, 36379, 36380 | ❌ No | Internal | Internode communication | +| TCP | 3333-3345, 36379, 36380 | ❌ No | Internal | Internode communication | | TCP | 20000-29999 | ❌ No | Internal | Database shard traffic | | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| | TCP | 8444, 9080 | ❌ No | Internal | Traffic between web proxy and cnm_http/cm | diff --git a/content/operate/rs/networking/port-configurations.md b/content/operate/rs/networking/port-configurations.md index 34b564dcd..f16223134 100644 --- a/content/operate/rs/networking/port-configurations.md +++ b/content/operate/rs/networking/port-configurations.md @@ -37,7 +37,7 @@ Redis Enterprise Software's port usage falls into three general categories: | TCP | 10000-10049, 10051-19999 | ✅ Yes | Internal, External, Active-Active | Database traffic | | UDP | 53, 5353 | ❌ No | Internal, External | DNS/mDNS traffic | | TCP | 1968 | ❌ No | Internal | Proxy traffic | -| TCP | 3333-3345, 3350, 3351, 36379 | ❌ No | Internal | Internode communication | +| TCP | 3333-3346, 3350, 3351, 36379 | ❌ No | Internal | Internode communication | | TCP | 3355 | ❌ No | Internal | Authentication service internal port | | TCP | 20000-29999 | ❌ No | Internal | Database shard traffic | | TCP | 8002, 8004, 8006 | ✅ Yes | Internal | Default system health monitoring (envoy admin, envoy management server, gossip envoy admin)| From 624ae186a1226346e9404ddfccb46206771dd445 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 1 Apr 2025 16:48:03 -0500 Subject: [PATCH 61/85] Added more detailed diagnostics REST API examples --- .../rest-api/requests/diagnostics/_index.md | 95 +++++++++++++++++-- 1 file changed, 85 insertions(+), 10 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/diagnostics/_index.md b/content/operate/rs/references/rest-api/requests/diagnostics/_index.md index 13b164e99..bf88439a9 100644 --- a/content/operate/rs/references/rest-api/requests/diagnostics/_index.md +++ b/content/operate/rs/references/rest-api/requests/diagnostics/_index.md @@ -48,14 +48,52 @@ GET /v1/diagnostics ### Response {#get-response} -Returns a JSON object that represents the diagnostic logging service configuration. +Returns a JSON object that represents the diagnostic logging service configuration. Each target includes a `cron_expression` that defines the log collection time interval. `slowlog_target` also includes `max_entries`, which specifies the maximum number of entries recorded in the slow log. #### Example response body ```json { - "slowlog_target":{"cron_expression": "", "max_entries":50}, - "rladmin_status_target":{"cron_expression": "* * * * * *"} + "bdb_client_list_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_info_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_target": { + "cron_expression": "*/10 * * * *" + }, + "command_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "network_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "persistent_files_target": { + "cron_expression": "*/10 * * * *" + }, + "rladmin_status_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_info_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_histogram_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_target": { + "cron_expression": "*/10 * * * *" + }, + "slowlog_target": { + "cron_expression": "*/10 * * * *", + "max_entries": 100 + }, + "socket_files_target": { + "cron_expression": "*/10 * * * *" + } } ``` @@ -81,6 +119,8 @@ Updates the diagnostic logging service configuration. ### Request {#put-request} +Provide a JSON object in the request body to update a diagnostic logging service target's configuration. Each target can include a `cron_expression` that defines the log collection time interval for that target. For `slowlog_target`, you can also change `max_entries`, which specifies the maximum number of entries recorded in the slow log. + #### Example HTTP request ```sh @@ -106,18 +146,53 @@ PUT /v1/diagnostics ### Response {#put-response} -Returns a JSON object that represents the updated diagnostic logging service configuration. +Returns a JSON object that represents the updated diagnostic logging service configuration. Each target includes a `cron_expression` that defines the log collection time interval. `slowlog_target` also includes `max_entries`, which specifies the maximum number of entries recorded in the slow log. + #### Example response body ```json { - "rladmin_status_target": { - "cron_expression": "5 * * * *" - }, - "slowlog_target": { - "cron_expression": "" - } + "bdb_client_list_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_info_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_target": { + "cron_expression": "*/10 * * * *" + }, + "command_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "network_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "persistent_files_target": { + "cron_expression": "*/10 * * * *" + }, + "rladmin_status_target": { + "cron_expression": "5 * * * *" + }, + "shard_info_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_histogram_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_target": { + "cron_expression": "*/10 * * * *" + }, + "slowlog_target": { + "cron_expression": "*/10 * * * *", + "max_entries": 100 + }, + "socket_files_target": { + "cron_expression": "*/10 * * * *" + } } ``` From d8f0520e95ad84e1fa0a3886a4287f06cd2c95f2 Mon Sep 17 00:00:00 2001 From: Rachel Elledge <86307637+rrelledge@users.noreply.github.com> Date: Wed, 2 Apr 2025 09:28:37 -0500 Subject: [PATCH 62/85] Apply suggestions from code review Co-authored-by: mich-elle-luna <153109578+mich-elle-luna@users.noreply.github.com> --- .../rs/references/rest-api/requests/actions/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/actions/_index.md b/content/operate/rs/references/rest-api/requests/actions/_index.md index f02444129..26f0e84b1 100644 --- a/content/operate/rs/references/rest-api/requests/actions/_index.md +++ b/content/operate/rs/references/rest-api/requests/actions/_index.md @@ -100,7 +100,7 @@ Regardless of an action’s source, each action in the response contains the fol | Code | Description | |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | -| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run).| +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (for example, not currently running and no available status of last run).| ## Get all actions v2 {#get-all-actions-v2} @@ -243,7 +243,7 @@ Regardless of an action’s source, each action contains the following attribute | Code | Description | |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | -| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run) | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (that is, not currently running and no available status of last run) | ## Get a specific action v2 {#get-action-v2} @@ -323,4 +323,4 @@ Regardless of an action’s source, each action contains the following attribute | Code | Description | |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, response provides info about an ongoing action | -| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (i.e. not currently running and no available status of last run) | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action does not exist (that is, not currently running and no available status of last run) | From 247ed26326e6ffcea51fe997f5e16106eff50af5 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 2 Apr 2025 16:43:19 -0500 Subject: [PATCH 63/85] Fixed typo --- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index d7867d63c..b95f1aaad 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -61,7 +61,7 @@ This version offers: - [Support packages]({{}}) now include [usage reports]({{}}). -- Added `secondary_rack_id` to boostrap and node configuration to support [two-dimensional rack awareness]({{}}). +- Added `secondary_rack_id` to bootstrap and node configuration to support [two-dimensional rack awareness]({{}}). - A new version of the [actions API]({{}}) is available at `GET /v2/actions`. From d95325e9369ea81372e0b83ae77fcdf00da8c504 Mon Sep 17 00:00:00 2001 From: Maayan Agranat <107346841+maayanagranat@users.noreply.github.com> Date: Sun, 6 Apr 2025 11:56:43 +0300 Subject: [PATCH 64/85] Update rs-7-22-x-tba.md Edited wording of v2 actions API --- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index b95f1aaad..2e49cb87a 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -29,7 +29,7 @@ This version offers: - Two-dimensional rack awareness -- v2 actions API +- New version for actions API - Additional REST API enhancements From 56f1252d2dd8cf83fb3340eb4f250ec1311d13b8 Mon Sep 17 00:00:00 2001 From: Maayan Agranat <107346841+maayanagranat@users.noreply.github.com> Date: Sun, 6 Apr 2025 12:31:39 +0300 Subject: [PATCH 65/85] Update v1_monitoring.md update wording of v1 monitoring system adding deprecation notice and recommendation to move to v2 --- .../operate/rs/monitoring/v1_monitoring.md | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/content/operate/rs/monitoring/v1_monitoring.md b/content/operate/rs/monitoring/v1_monitoring.md index 0ab01ab5c..8804ce964 100644 --- a/content/operate/rs/monitoring/v1_monitoring.md +++ b/content/operate/rs/monitoring/v1_monitoring.md @@ -12,15 +12,45 @@ linkTitle: Monitoring v1 weight: 50 --- -The current approach to monitoring Redis Enterprise Software includes: +Current Monitoring System (Deprecated) -- Internal monitoring systems: +- Internal Metrics Storage + - Metrics are internally aggregated, calculated, and stored for up to one year. + - This historical data is used for generating trends and performance insights over time. - - [Statistics APIs]({{}}), which collect various statistics at regular time intervals for clusters, nodes, databases, shards, and endpoints. +- [Statistics APIs]({{}}) + - A set of RESTful APIs that expose metrics collected at regular intervals from clusters, nodes, databases, shards, and endpoints. + - These APIs allow customers to retrieve performance and usage statistics directly from the internal storage layer. - - Cluster manager metrics and alerts. +- Cluster Manager Metrics and Alerts + - The Cluster Manager UI includes dedicated metrics pages that display pre-aggregated metrics. + - Cluster alerts are triggered based on thresholds applied to these stored metrics. + +- v1 Prometheus Scraping Endpoint + - Redis Enterprise exposes a legacy /prometheus_metrics endpoint to integrate with external observability platforms like [Prometheus and Grafana]({{}}). + - This endpoint fetches data from the internal storage, providing basic monitoring integration. -- The v1 Prometheus scraping endpoint to integrate with external monitoring tools such as [Prometheus and Grafana]({{}}). +- Deprecation notice: + - The internal monitoring system, while functional, has several limitations that affect scalability and accuracy: + + - Limited Granularity: Metrics are aggregated before storage, resulting in a loss of fine-grained insights. + - Stale Data: Stored metrics may lag behind real-time system states, reducing the effectiveness of alerting. + - Scalability Constraints: Internal storage and processing introduce performance overhead and are not optimized for large-scale observability pipelines. + - Limited Extensibility: The system is tightly coupled with internal components, making it difficult to integrate with modern monitoring ecosystems. + +Transition to Metrics Stream Engine + +To address these challenges, Redis Enterprise is transitioning to a new observability foundation: the Metrics Stream Engine. + +This modern monitoring stack introduces: + +- Real-Time Metrics: Data is exposed directly from the engine without intermediate storage, ensuring high fidelity and low-latency insights. + +- Scalable Architecture: Designed for cloud-native observability, with a lightweight Prometheus collectors. + +- Deeper Visibility: Exposes new types of metrics such as key size distribution, server overall latency histograms, and system internals with per-endpoint resolution. + +We recommend all customers migrate to the Metrics Stream Engine for enhanced accuracy, scalability, and future-proof observability. ## Cluster manager metrics From c2fffaee64033732f659c89f9b0d713d200bf07d Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 7 Apr 2025 10:21:04 -0500 Subject: [PATCH 66/85] Release notes copy edits related to the new version of the actions API --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 4 ++-- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 340eb086e..a3f8de3d7 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. +description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -31,7 +31,7 @@ This version offers: - Two-dimensional rack awareness -- v2 actions API +- New version for actions API - Additional REST API enhancements diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 2e49cb87a..db7a3f71f 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. v2 actions API. Additional REST API enhancements. +description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- From b033881607d60fcaa400cd75fc0e6df358c5ce8a Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 7 Apr 2025 14:17:38 -0500 Subject: [PATCH 67/85] Made some formatting/style edits and added links to the v1 monitoring overview --- .../operate/rs/monitoring/v1_monitoring.md | 62 ++++++++++++------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/content/operate/rs/monitoring/v1_monitoring.md b/content/operate/rs/monitoring/v1_monitoring.md index 8804ce964..93dd09545 100644 --- a/content/operate/rs/monitoring/v1_monitoring.md +++ b/content/operate/rs/monitoring/v1_monitoring.md @@ -12,45 +12,61 @@ linkTitle: Monitoring v1 weight: 50 --- -Current Monitoring System (Deprecated) +## Current monitoring system (deprecated) + +The current monitoring system, which is deprecated as of Redis Enterprise Software version 7.22, consists of the following components: + +- Internal metrics storage: -- Internal Metrics Storage - Metrics are internally aggregated, calculated, and stored for up to one year. - - This historical data is used for generating trends and performance insights over time. -- [Statistics APIs]({{}}) - - A set of RESTful APIs that expose metrics collected at regular intervals from clusters, nodes, databases, shards, and endpoints. + - This historical data is used to generate trends and performance insights over time. + +- [Statistics APIs]({{}}): + + - This set of RESTful APIs exposes metrics collected at regular intervals from clusters, nodes, databases, shards, and endpoints. + - These APIs allow customers to retrieve performance and usage statistics directly from the internal storage layer. -- Cluster Manager Metrics and Alerts - - The Cluster Manager UI includes dedicated metrics pages that display pre-aggregated metrics. - - Cluster alerts are triggered based on thresholds applied to these stored metrics. +- Cluster manager metrics and alerts: + + - The Cluster Manager UI includes [dedicated metrics pages](#cluster-manager-metrics) that display pre-aggregated metrics. + + - [Cluster alerts](#cluster-alerts) are triggered based on thresholds applied to these stored metrics. -- v1 Prometheus Scraping Endpoint - - Redis Enterprise exposes a legacy /prometheus_metrics endpoint to integrate with external observability platforms like [Prometheus and Grafana]({{}}). +- v1 Prometheus scraping endpoint: + + - Redis Enterprise Software exposes a legacy `/prometheus_metrics` endpoint to integrate with external observability platforms like [Prometheus and Grafana]({{}}). + - This endpoint fetches data from the internal storage, providing basic monitoring integration. -- Deprecation notice: - - The internal monitoring system, while functional, has several limitations that affect scalability and accuracy: +### Limitations + +The internal monitoring system, while functional, has several limitations that affect scalability and accuracy: - - Limited Granularity: Metrics are aggregated before storage, resulting in a loss of fine-grained insights. - - Stale Data: Stored metrics may lag behind real-time system states, reducing the effectiveness of alerting. - - Scalability Constraints: Internal storage and processing introduce performance overhead and are not optimized for large-scale observability pipelines. - - Limited Extensibility: The system is tightly coupled with internal components, making it difficult to integrate with modern monitoring ecosystems. - -Transition to Metrics Stream Engine +- **Limited granularity:** Metrics are aggregated before storage, resulting in a loss of fine-grained insights. + +- **Stale data:** Stored metrics can lag behind real-time system states, reducing the effectiveness of alerting. + +- **Scalability constraints:** Internal storage and processing introduce performance overhead and are not optimized for large-scale observability pipelines. -To address these challenges, Redis Enterprise is transitioning to a new observability foundation: the Metrics Stream Engine. +- **Limited extensibility:** The system is tightly coupled with internal components, making it difficult to integrate with modern monitoring ecosystems. + +### Transition to the metrics stream engine + +To improve monitoring and address current limitations, Redis Enterprise Software is transitioning to a new observability foundation: the [metrics stream engine]({{}}). This modern monitoring stack introduces: -- Real-Time Metrics: Data is exposed directly from the engine without intermediate storage, ensuring high fidelity and low-latency insights. +- Real-time metrics, exposed directly from the engine without intermediate storage for high-fidelity, low-latency insights. + +- Scalable architecture designed for cloud-native observability with lightweight Prometheus collectors. -- Scalable Architecture: Designed for cloud-native observability, with a lightweight Prometheus collectors. +- Deeper visibility by exposing new types of metrics such as key size distribution, server overall latency histograms, and system internals with per-endpoint resolution. -- Deeper Visibility: Exposes new types of metrics such as key size distribution, server overall latency histograms, and system internals with per-endpoint resolution. +We recommend migrating to the metrics stream engine for enhanced accuracy, scalability, and future-proof observability. -We recommend all customers migrate to the Metrics Stream Engine for enhanced accuracy, scalability, and future-proof observability. +If you are already using the existing scraping endpoint for integration, follow [this guide]({{}}) to transition and try the new engine. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. ## Cluster manager metrics From 000382166369dab610c5af308536941d6c527b8b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 7 Apr 2025 17:56:24 -0500 Subject: [PATCH 68/85] DOC-5068 RS: Created dedicated diagnostic logging page --- .../rs/clusters/logging/diagnostic-logging.md | 142 ++++++++++++++++++ .../rs-7-22-releases/rs-7-22-x-tba.md | 2 +- 2 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 content/operate/rs/clusters/logging/diagnostic-logging.md diff --git a/content/operate/rs/clusters/logging/diagnostic-logging.md b/content/operate/rs/clusters/logging/diagnostic-logging.md new file mode 100644 index 000000000..d2e7c4966 --- /dev/null +++ b/content/operate/rs/clusters/logging/diagnostic-logging.md @@ -0,0 +1,142 @@ +--- +Title: Diagnostic logging +alwaysopen: false +categories: +- docs +- operate +- rs +description: Diagnostic logs can help troubleshoot Redis Enterprise Software. +linkTitle: Diagnostic logging +weight: 50 +--- + +The diagnostic logging service collects detailed system logs, which you can use to troubleshoot Redis Enterprise Software. + +## View diagnostic logs + +Diagnostic logs are collected at scheduled intervals and saved in the `/var/opt/redislabs/log/diagnostics/` directory. The log files are rotated once a day. + +## View log collector settings + +To view the current log collection schedule and parameters for each log collector, use the REST API to [get the diagnostic logging service configuration](/operate/rs/references/rest-api/requests/diagnostics/#put-diagnostics). + +```sh +GET /v1/diagnostics +``` + +Example response: + +```json +{ + "bdb_client_list_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_info_target": { + "cron_expression": "*/10 * * * *" + }, + "bdb_target": { + "cron_expression": "*/10 * * * *" + }, + "command_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "network_stats_target": { + "cron_expression": "*/30 * * * *" + }, + "persistent_files_target": { + "cron_expression": "*/10 * * * *" + }, + "rladmin_status_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_info_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_histogram_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_latency_target": { + "cron_expression": "*/10 * * * *" + }, + "shard_target": { + "cron_expression": "*/10 * * * *" + }, + "slowlog_target": { + "cron_expression": "*/10 * * * *", + "max_entries": 100 + }, + "socket_files_target": { + "cron_expression": "*/10 * * * *" + } +} +``` + +## Change log collector settings + +To change how often a log is collected, set the `cron_expression` when you [update the diagnostic logging service configuration]({{}}) with the REST API. + +```sh +PUT /v1/diagnostics +{ + "_target": { + "cron_expression": "*/5 * * * *" + } +} +``` + +- Replace `` with the name of the log collector you want to turn off. + +- Use standard [cron syntax](https://en.wikipedia.org/wiki/Cron) to set the collection interval in the `cron_expression`. + +For the slowlog collector only, you can also set `max_entries` to change the maximum number of slow log entries to collect: + +```sh +PUT /v1/diagnostics +{ + "slowlog_target": { + "cron_expression": "*/5 * * * *", + "max_entries": 200 + } +} +``` + +## Turn off log collectors + +To turn off a log collector, set its `cron_expression` to an empty string when you [update the diagnostic logging service configuration]({{}}) with the REST API. + +```sh +PUT /v1/diagnostics +{ + "_target": { + "cron_expression": "" + } +} +``` + +Replace `` with the name of the log collector you want to turn off. + +## Log collectors + +Each log collector runs independently and writes a separate log file. The following table describes the log collectors. + +Default `cron_expression` values: + +- `*/10 * * * *`: Logs are collected every 10 minutes. + +- `*/30 * * * *`: Logs are collected every 30 minutes. + +| Log collector | Description | +|---------------|-------------| +| bdb | Logs database metadata similar to [`GET /bdbs`]({{}}). Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| bdb_client_list | Logs database client lists, with a separate file for each database. Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| bdb_info | Logs the result of running [`INFO ALL`]({{}}) on a database, excluding `commandstats`, with a separate file for each database. Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| command_stats | Logs [`INFO commandstats`]({{}}) for each database, with a separate file for each database. Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/30 * * * *"{{}} | +| network_stats | Logs the node's network statistics.
Default settings:
{{}}"cron_expression": "*/30 * * * *"{{}} | +| persistent_files | Lists persistent files from `/var/opt/redislabs/persist/redis`
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| rladmin_status | Logs data about nodes, databases, endpoints, and shards from [`rladmin status`]({{}}). Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| shard | Logs shard status similar to [`GET /shards`]({{}}). Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| shard_info | Logs the result of running [INFO ALL]({{}}) on a shard, with a separate file for each shard. Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| shard_latency | Logs the result of running [`latency latest`]({{}}) on a shard, with a separate file for each shard.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| `shard_latency_histogram` | Logs the result of running [`latency histogram`]({{}}) on a shard, with a separate file for each shard.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | +| slowlog | Logs slow commands from the databases using [`SLOWLOG GET`]({{}}), with a separate file for each database. Each entry is in JSON format.
Default settings:
{{}}"cron_expression": "*/10 * * * *",
"max_entries": 100{{
}} | +| socket_files | Lists socket files used by Redis Enterprise Software.
Default settings:
{{}}"cron_expression": "*/10 * * * *"{{}} | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index db7a3f71f..7f5bbbe67 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -39,7 +39,7 @@ This version offers: - The [metrics stream engine]({{}}) is now generally available. -- Diagnostic logging service: +- [Diagnostic logging service]({{}}): - New diagnostic logs for improved troubleshooting. From d1367b417da05e33c6e3b9bcbd23ca0e06fe1ff8 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 9 Apr 2025 09:37:28 -0500 Subject: [PATCH 69/85] Removed metrics stream engine GA from RS April release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 4 +--- .../rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md | 6 +----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index a3f8de3d7..d77a154a8 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -19,8 +19,6 @@ weight: 68 This version offers: -- Metrics stream engine GA - - Diagnostic logging service - Revamp database API diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md index 7f5bbbe67..c4d7586c0 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Metrics stream engine GA. Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. linkTitle: 7.22.x-tba (April 2025) weight: 90 --- @@ -17,8 +17,6 @@ weight: 90 This version offers: -- Metrics stream engine GA - - Diagnostic logging service - Revamp database API @@ -37,8 +35,6 @@ This version offers: ### New features -- The [metrics stream engine]({{}}) is now generally available. - - [Diagnostic logging service]({{}}): - New diagnostic logs for improved troubleshooting. From 8f48e1ade20376dfbcecc0b2b174f04ae378e958 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 9 Apr 2025 09:45:21 -0500 Subject: [PATCH 70/85] Added preview notes back to metrics stream engine docs --- .../prometheus-metrics-definitions.md | 6 +++++- content/operate/rs/monitoring/_index.md | 6 +++--- content/operate/rs/monitoring/metrics_stream_engine.md | 8 ++++---- content/operate/rs/references/metrics/_index.md | 4 ++-- .../rs/references/metrics/prometheus-metrics-v2.md | 6 +++++- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md b/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md index 94ad91ced..1cf3fb5bb 100644 --- a/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md +++ b/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md @@ -1,5 +1,5 @@ --- -Title: Prometheus metrics v2 +Title: Prometheus metrics v2 preview alwaysopen: false categories: - docs @@ -14,6 +14,10 @@ weight: 50 tocEmbedHeaders: true --- +{{}} +While the metrics stream engine is in preview, this document provides only a partial list of v2 metrics. More metrics will be added. +{{}} + You can [integrate Redis Enterprise Software with Prometheus and Grafana]({{}}) to create dashboards for important metrics. The v2 metrics in the following tables are available as of Redis Enterprise Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL]({{}}). diff --git a/content/operate/rs/monitoring/_index.md b/content/operate/rs/monitoring/_index.md index 00c83810e..42952af90 100644 --- a/content/operate/rs/monitoring/_index.md +++ b/content/operate/rs/monitoring/_index.md @@ -22,11 +22,11 @@ In the Redis Enterprise Cluster Manager UI, you can view metrics, configure aler See [Metrics and alerts for monitoring v1]({{}}) for more information. -## Metrics stream engine +## Metrics stream engine preview -The new metrics stream engine is generally available as of [Redis Enterprise Software version 7.22]({{}}). This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. +A preview of the new metrics stream engine is available as of [Redis Enterprise Software version 7.8.2]({{}}). This new engine exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`, exports all time-series metrics to external monitoring tools, and enables real-time monitoring. -See [Metrics stream engine for monitoring v2]({{}}) for more information. +See [Metrics stream engine preview for monitoring v2]({{}}) for more information. ## Integrate with external monitoring tools diff --git a/content/operate/rs/monitoring/metrics_stream_engine.md b/content/operate/rs/monitoring/metrics_stream_engine.md index fa2666d1e..096e55c01 100644 --- a/content/operate/rs/monitoring/metrics_stream_engine.md +++ b/content/operate/rs/monitoring/metrics_stream_engine.md @@ -1,18 +1,18 @@ --- -Title: Metrics stream engine for monitoring v2 +Title: Metrics stream engine preview for monitoring v2 alwaysopen: false categories: - docs - operate - rs - kubernetes -description: The new metrics stream engine for monitoring Redis Enterprise Software. +description: Preview the new metrics stream engine for monitoring Redis Enterprise Software. hideListLinks: true -linkTitle: Metrics stream engine for monitoring v2 +linkTitle: Metrics stream engine preview for monitoring v2 weight: 60 --- -The new metrics stream engine is generally available as of [Redis Enterprise Software version 7.22]({{}}). +A preview of the new metrics stream engine is available as of [Redis Enterprise Software version 7.8.2]({{}}). The new metrics stream engine: diff --git a/content/operate/rs/references/metrics/_index.md b/content/operate/rs/references/metrics/_index.md index ca9259de5..4589d882d 100644 --- a/content/operate/rs/references/metrics/_index.md +++ b/content/operate/rs/references/metrics/_index.md @@ -28,7 +28,7 @@ you can connect your [Prometheus](https://prometheus.io/) and [Grafana](https:// See [Prometheus integration]({{< relref "/operate/rs/monitoring/prometheus_and_grafana" >}}) to learn how to connect Prometheus and Grafana to your Redis Enterprise database. -The new metrics stream engine that exposes the v2 Prometheus scraping endpoint at `https://:8070/v2` is generally available as of Redis Enterprise Software version 7.22. +Redis Enterprise Software version 7.8.2 introduces a preview of the new metrics stream engine that exposes the v2 Prometheus scraping endpoint at `https://:8070/v2`. This new engine exports all time-series metrics to external monitoring tools such as Grafana, DataDog, NewRelic, and Dynatrace using Prometheus. The new engine enables real-time monitoring, including full monitoring during maintenance operations, providing full visibility into performance during events such as shards' failovers and scaling operations. @@ -37,7 +37,7 @@ For a list of available metrics, see the following references: - [Prometheus metrics v1]({{}}) -- [Prometheus metrics v2]({{}}) +- [Prometheus metrics v2 preview]({{}}) If you are already using the existing scraping endpoint for integration, follow [this guide]({{}}) to transition and try the new engine. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. diff --git a/content/operate/rs/references/metrics/prometheus-metrics-v2.md b/content/operate/rs/references/metrics/prometheus-metrics-v2.md index 599944df3..5d7c064be 100644 --- a/content/operate/rs/references/metrics/prometheus-metrics-v2.md +++ b/content/operate/rs/references/metrics/prometheus-metrics-v2.md @@ -1,5 +1,5 @@ --- -Title: Prometheus metrics v2 +Title: Prometheus metrics v2 preview alwaysopen: false categories: - docs @@ -14,6 +14,10 @@ weight: 50 tocEmbedHeaders: true --- +{{}} +While the metrics stream engine is in preview, this document provides only a partial list of v2 metrics. More metrics will be added. +{{}} + You can [integrate Redis Enterprise Software with Prometheus and Grafana]({{}}) to create dashboards for important metrics. The v2 metrics in the following tables are available as of Redis Enterprise Software version 7.8.0. For help transitioning from v1 metrics to v2 PromQL, see [Prometheus v1 metrics and equivalent v2 PromQL]({{}}). From b792094a058a9cd0ac2eecc970e6e90f14f85df0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 9 Apr 2025 13:37:49 -0500 Subject: [PATCH 71/85] DOC-5068 Feedback update to clarify the diagnostic logs are overwritten at the scheduled collection interval --- content/operate/rs/clusters/logging/diagnostic-logging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/clusters/logging/diagnostic-logging.md b/content/operate/rs/clusters/logging/diagnostic-logging.md index d2e7c4966..78b10bcd3 100644 --- a/content/operate/rs/clusters/logging/diagnostic-logging.md +++ b/content/operate/rs/clusters/logging/diagnostic-logging.md @@ -14,7 +14,7 @@ The diagnostic logging service collects detailed system logs, which you can use ## View diagnostic logs -Diagnostic logs are collected at scheduled intervals and saved in the `/var/opt/redislabs/log/diagnostics/` directory. The log files are rotated once a day. +Diagnostic logs are collected at scheduled intervals and saved in the `/var/opt/redislabs/log/diagnostics/` directory. Each diagnostic log file is overwritten with the new data at the scheduled collection interval. ## View log collector settings From e124b47767b2cbeaf76554db75dddab6bf29676b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 14 Apr 2025 10:14:34 -0500 Subject: [PATCH 72/85] DOC-4929 Added build number and checksums to RS 7.22 release notes --- .../{rs-7-22-x-tba.md => rs-7-22-0-28.md} | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) rename content/operate/rs/release-notes/rs-7-22-releases/{rs-7-22-x-tba.md => rs-7-22-0-28.md} (96%) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md similarity index 96% rename from content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md rename to content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index c4d7586c0..30a2fffcd 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-x-tba.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -1,5 +1,5 @@ --- -Title: Redis Enterprise Software release notes 7.22.x-tba (April 2025) +Title: Redis Enterprise Software release notes 7.22.0-28 (April 2025) alwaysopen: false categories: - docs @@ -7,11 +7,11 @@ categories: - rs compatibleOSSVersion: Redis 7.4.0 description: Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. -linkTitle: 7.22.x-tba (April 2025) +linkTitle: 7.22.0-28 (April 2025) weight: 90 --- -​[​Redis Enterprise Software version 7.22.x](https://redis.io/downloads/#software) is now available! +​[​Redis Enterprise Software version 7.22.0](https://redis.io/downloads/#software) is now available! ## Highlights @@ -113,13 +113,13 @@ This version offers: ### Redis database versions -Redis Enterprise Software version 7.22.x includes three Redis database versions: 7.4, 7.2, and 6.2. +Redis Enterprise Software version 7.22.0 includes three Redis database versions: 7.4, 7.2, and 6.2. The [default Redis database version]({{}}) is 7.4. ### Redis module feature sets -Redis Enterprise Software comes packaged with several modules. As of version 7.22.x, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. +Redis Enterprise Software comes packaged with several modules. As of version 7.22.0, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. The following table shows which Redis modules are compatible with each Redis database version included in this release. @@ -247,13 +247,13 @@ The following table provides a snapshot of supported platforms as of this Redis The following table shows the SHA256 checksums for the available packages: -| Package | SHA256 checksum (7.22.x-tba April release) | +| Package | SHA256 checksum (7.22.0-28 April release) | |---------|---------------------------------------| -| Ubuntu 20 | | -| Ubuntu 22 | | -| Red Hat Enterprise Linux (RHEL) 8 | | -| Red Hat Enterprise Linux (RHEL) 9 | | -| Amazon Linux 2 | | +| Ubuntu 20 | c2241018c937ab6110e2a19b85803351d1ebe6bd3d012e51895228bbfe72cbb4 | +| Ubuntu 22 | db2bd5c205969ba1c3af986dfcb077dd485de82e229520d17e09770ccc28d284 | +| Red Hat Enterprise Linux (RHEL) 8 | 45ba7e7d7e3169a871c5b02261c30d26d191b7dd1f05da7d6b46a1d06735a849 | +| Red Hat Enterprise Linux (RHEL) 9 | 097928a568f3e8ff6fa88bf9b44305b39bb6ab5f112ffc6b9e973824bad52366 | +| Amazon Linux 2 | 915e6cc566e5e3ed56be4009bbcc18a462b9e10eeb7d70f538b2735912b4a771 | ## Known issues @@ -309,7 +309,7 @@ As part of Redis's commitment to security, Redis Enterprise Software implements Some CVEs announced for open source Redis do not affect Redis Enterprise Software due to different or additional functionality available in Redis Enterprise Software that is not available in open source Redis. -Redis Enterprise Software 7.22.x-tba supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. +Redis Enterprise Software 7.22.0-28 supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. Redis 7.2.x: From 15bfab62551164a4aa644007cafeee32d581080a Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 14 Apr 2025 11:19:04 -0500 Subject: [PATCH 73/85] Added known performance issue to RS 7.22 release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 2 ++ .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index d77a154a8..3516a82c6 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -109,6 +109,8 @@ The following table provides a snapshot of supported platforms as of this Redis For down: 2-1000000 +- RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. + ## Known limitations #### Upload modules before OS upgrade diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 30a2fffcd..95b977e9a 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -271,6 +271,8 @@ The following table shows the SHA256 checksums for the available packages: For down: 2-1000000 +- RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. + ## Known limitations #### Upload modules before OS upgrade From 0dbb09522500e84ec9ac42f5569533a2b791ce88 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 14 Apr 2025 14:17:54 -0500 Subject: [PATCH 74/85] Feedback update for v2 actions description in 7.22 release notes --- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 95b977e9a..9844a3462 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -59,7 +59,7 @@ This version offers: - Added `secondary_rack_id` to bootstrap and node configuration to support [two-dimensional rack awareness]({{}}). -- A new version of the [actions API]({{}}) is available at `GET /v2/actions`. +- A new version of the [actions API]({{}}), which adds progress tracking to all background actions, is available at `GET /v2/actions`. ### Enhancements From c96d88cec61f087e011c3b4113d0bae5001c4ac3 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 15 Apr 2025 10:07:25 -0500 Subject: [PATCH 75/85] RS: Added call home client info to RS 7.22 release notes and REST API reference --- .../objects/services_configuration/_index.md | 1 + .../services_configuration/call_home_agent.md | 15 ++++++++ .../release-notes/rs-7-22-releases/_index.md | 4 ++- .../rs-7-22-releases/rs-7-22-0-28.md | 35 ++++++++++++++++++- 4 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 content/operate/rs/references/rest-api/objects/services_configuration/call_home_agent.md diff --git a/content/operate/rs/references/rest-api/objects/services_configuration/_index.md b/content/operate/rs/references/rest-api/objects/services_configuration/_index.md index 135a89cc0..32ecc3f0c 100644 --- a/content/operate/rs/references/rest-api/objects/services_configuration/_index.md +++ b/content/operate/rs/references/rest-api/objects/services_configuration/_index.md @@ -16,6 +16,7 @@ Optional cluster services settings | Name | Type/Value | Description | |------|------------|-------------| | alert_mgr | [alert_mgr]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/alert_mgr" >}}) object | Whether to enable/disable the alert manager processes | +| call_home_agent | [call_home_agent]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/call_home_agent" >}}) object | Whether to enable/disable the call_home_agent process, which sends daily usage statistics to Redis | | cm_server | [cm_server]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/cm_server" >}}) object | Whether to enable/disable the CM server | | crdb_coordinator | [crdb_coordinator]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/crdb_coordinator" >}}) object | Whether to enable/disable the CRDB coordinator process | | crdb_worker | [crdb_worker]({{< relref "/operate/rs/references/rest-api/objects/services_configuration/crdb_worker" >}}) object | Whether to enable/disable the CRDB worker processes | diff --git a/content/operate/rs/references/rest-api/objects/services_configuration/call_home_agent.md b/content/operate/rs/references/rest-api/objects/services_configuration/call_home_agent.md new file mode 100644 index 000000000..d3c4e4471 --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/services_configuration/call_home_agent.md @@ -0,0 +1,15 @@ +--- +Title: Call home agent object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Documents the call_home_agent object used with Redis Enterprise Software REST API calls. +linkTitle: call_home_agent +weight: $weight +--- + +| Name | Type/Value | Description | +|------|------------|-------------| +| operating_mode | 'disabled'
'enabled' | Enable/disable the call_home_agent process, which sends daily usage statistics to Redis | diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index 3516a82c6..d5776b94a 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -21,6 +21,8 @@ This version offers: - Diagnostic logging service +- Call home client to send daily usage statistics to Redis + - Revamp database API - Migration status API diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 9844a3462..df9bb9add 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Diagnostic logging service. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. linkTitle: 7.22.0-28 (April 2025) weight: 90 --- @@ -19,6 +19,8 @@ This version offers: - Diagnostic logging service +- Call home client to send daily usage statistics to Redis + - Revamp database API - Migration status API @@ -47,6 +49,37 @@ This version offers: - JSON response format for easy integration with external logging tools. +- Call home client: + + - The call home client sends daily usage statistics to Redis for operational insights. Reports include memory usage, shard information, enabled features, and other operational metrics. + + - The cluster collects usage data hourly by default. + + - We recommend contacting [Redis support](https://redis.io/support/) before making changes to call home behavior. + + - To change the data collection schedule, [update job scheduler settings]({{}}) for `bdb_usage_report_job_settings` with a REST API request: + + ```sh + PUT /v1/job_scheduler + { + "bdb_usage_report_job_settings": { + "enabled": < true | false >, + "cron_expression": "*/60 * * * *" + } + } + ``` + + - To stop the call home client from sending daily usage statistics to Redis, [update cluster services configuration +]({{}}) for `call_home_agent` with a REST API request: + + ```sh + PUT /v1/cluster/services_configuration + { "call_home_agent": { + "operating_mode": "disabled" + } + } + ``` + - [Revamp database REST API requests]({{}}): - Updates topology-related configurations of an active database and optimises the shards placement for the new configuration. Example configuration parameters include `memory_size`, `shards_count`, `avoid_nodes`, `shards_placement`, `bigstore_ram_size`, and `replication`. From 24837103640928aeca9eca42e100b2fd7ff2f3d6 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 15 Apr 2025 10:37:37 -0500 Subject: [PATCH 76/85] Remove Azure from RS migrations API reference --- .../rs/references/rest-api/requests/migrations/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rs/references/rest-api/requests/migrations/_index.md b/content/operate/rs/references/rest-api/requests/migrations/_index.md index bde04c464..5302ca5a5 100644 --- a/content/operate/rs/references/rest-api/requests/migrations/_index.md +++ b/content/operate/rs/references/rest-api/requests/migrations/_index.md @@ -53,7 +53,7 @@ GET /v1/migrations/1 ### Response {#get-response} -Returns a JSON array with all data required by the Azure migration orchestrator. +Returns a JSON array with all data required by the migration orchestrator. #### Example response body From df7802aa5f9c001be1be3f52148409e665c6c2d6 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Tue, 15 Apr 2025 12:56:20 -0500 Subject: [PATCH 77/85] Grouped call home and usage reports together in RS 7.22 release notes --- .../rs/release-notes/rs-7-22-releases/_index.md | 6 +++--- .../rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index d5776b94a..e02f5d8e2 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Usage reports in support packages. Revamp database API. Migration status API. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. hideListLinks: true linkTitle: 7.22.x releases toc: 'true' @@ -23,12 +23,12 @@ This version offers: - Call home client to send daily usage statistics to Redis +- Usage reports in support packages + - Revamp database API - Migration status API -- Usage reports in support packages - - Two-dimensional rack awareness - New version for actions API diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index df9bb9add..ef7f50574 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -6,7 +6,7 @@ categories: - operate - rs compatibleOSSVersion: Redis 7.4.0 -description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Revamp database API. Migration status API. Usage reports in support packages. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. +description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Usage reports in support packages. Revamp database API. Migration status API. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. linkTitle: 7.22.0-28 (April 2025) weight: 90 --- @@ -21,12 +21,12 @@ This version offers: - Call home client to send daily usage statistics to Redis +- Usage reports in support packages + - Revamp database API - Migration status API -- Usage reports in support packages - - Two-dimensional rack awareness - New version for actions API @@ -80,6 +80,8 @@ This version offers: } ``` +- [Support packages]({{}}) now include [usage reports]({{}}). + - [Revamp database REST API requests]({{}}): - Updates topology-related configurations of an active database and optimises the shards placement for the new configuration. Example configuration parameters include `memory_size`, `shards_count`, `avoid_nodes`, `shards_placement`, `bigstore_ram_size`, and `replication`. @@ -88,8 +90,6 @@ This version offers: - [Migration status REST API request]({{}}), which reports the migration status of a database in the cluster. -- [Support packages]({{}}) now include [usage reports]({{}}). - - Added `secondary_rack_id` to bootstrap and node configuration to support [two-dimensional rack awareness]({{}}). - A new version of the [actions API]({{}}), which adds progress tracking to all background actions, is available at `GET /v2/actions`. From 26d216a1e6b224618354b220e732a92a1e725147 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 16 Apr 2025 10:25:16 -0500 Subject: [PATCH 78/85] Feedback update - clarify migration API is for Replica Of migration status --- .../rs/references/rest-api/requests/migrations/_index.md | 4 ++-- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rs/references/rest-api/requests/migrations/_index.md b/content/operate/rs/references/rest-api/requests/migrations/_index.md index 5302ca5a5..4d1b79128 100644 --- a/content/operate/rs/references/rest-api/requests/migrations/_index.md +++ b/content/operate/rs/references/rest-api/requests/migrations/_index.md @@ -5,7 +5,7 @@ categories: - docs - operate - rs -description: REST API request to get the migration status of a database in the cluster. +description: REST API request to get the migration status of a database in the cluster when using Replica Of. headerRange: '[1-2]' hideListLinks: true linkTitle: migrations @@ -22,7 +22,7 @@ weight: $weight GET /v1/migrations/ ``` -Gets the migration status of a database in the cluster. +Gets the migration status of a database in the cluster when using Replica Of. #### Required permissions diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index ef7f50574..9ad7ca087 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -88,7 +88,7 @@ This version offers: - `PUT /v1/bdbs//actions/revamp?dry_run=true` replaces the deprecated request to [optimize shards placement]({{}}). -- [Migration status REST API request]({{}}), which reports the migration status of a database in the cluster. +- [Migration status REST API request]({{}}), which reports the migration status of a database in the cluster when using Replica Of. - Added `secondary_rack_id` to bootstrap and node configuration to support [two-dimensional rack awareness]({{}}). From e8df9c63019bbab2a1a980680bfbb9990df5986b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 25 Apr 2025 11:22:42 -0500 Subject: [PATCH 79/85] Added known issue RS156391 to 7.22 release notes --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 2 ++ .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index e02f5d8e2..f9af4bfde 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -113,6 +113,8 @@ The following table provides a snapshot of supported platforms as of this Redis - RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. +- RS156391: The `job_scheduler`'s memory usage can increase significantly when the diagnostic logging service is enabled. + ## Known limitations #### Upload modules before OS upgrade diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 9ad7ca087..9ef80e17c 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -306,6 +306,8 @@ The following table shows the SHA256 checksums for the available packages: - RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. +- RS156391: The `job_scheduler`'s memory usage can increase significantly when the diagnostic logging service is enabled. + ## Known limitations #### Upload modules before OS upgrade From 51cd0e6517d56037a06bce54a16e62b84534104e Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 25 Apr 2025 14:06:49 -0500 Subject: [PATCH 80/85] Moved call home client details and config examples from 7.22 release notes into a dedicated page --- .../rs/clusters/configure/call-home.md | 47 +++++++++++++++++++ .../rs-7-22-releases/rs-7-22-0-28.md | 31 +----------- 2 files changed, 48 insertions(+), 30 deletions(-) create mode 100644 content/operate/rs/clusters/configure/call-home.md diff --git a/content/operate/rs/clusters/configure/call-home.md b/content/operate/rs/clusters/configure/call-home.md new file mode 100644 index 000000000..638e41d82 --- /dev/null +++ b/content/operate/rs/clusters/configure/call-home.md @@ -0,0 +1,47 @@ +--- +Title: Call home client +alwaysopen: false +categories: +- docs +- operate +- rs +- kubernetes +description: The call home client sends your Redis Enterprise Software cluster's daily usage statistics to Redis. +linkTitle: Call home client +weight: 80 +--- + +The call home client sends daily usage statistics to Redis for operational insights. Reports include memory usage, shard information, enabled features, and other operational metrics. + +We recommend contacting [Redis support](https://redis.io/support/) before making changes to call home behavior. + +## Change data collection schedule + +The cluster collects usage data hourly by default. + +To change the data collection schedule, [update job scheduler settings]({{}}) for `bdb_usage_report_job_settings` with a REST API request: + +```sh +PUT /v1/job_scheduler +{ + "bdb_usage_report_job_settings": { + "enabled": true, + "cron_expression": "*/60 * * * *" + } +} +``` + +Replace `cron_expression`'s value with a [`cron` expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the new data collection schedule. + +## Turn off call home client + +To stop the call home client from sending daily usage statistics to Redis, [update cluster services configuration]({{}}) for `call_home_agent` with a REST API request: + +```sh +PUT /v1/cluster/services_configuration +{ + "call_home_agent": { + "operating_mode": "disabled" + } +} +``` diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 9ef80e17c..0f58ba36a 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -49,36 +49,7 @@ This version offers: - JSON response format for easy integration with external logging tools. -- Call home client: - - - The call home client sends daily usage statistics to Redis for operational insights. Reports include memory usage, shard information, enabled features, and other operational metrics. - - - The cluster collects usage data hourly by default. - - - We recommend contacting [Redis support](https://redis.io/support/) before making changes to call home behavior. - - - To change the data collection schedule, [update job scheduler settings]({{}}) for `bdb_usage_report_job_settings` with a REST API request: - - ```sh - PUT /v1/job_scheduler - { - "bdb_usage_report_job_settings": { - "enabled": < true | false >, - "cron_expression": "*/60 * * * *" - } - } - ``` - - - To stop the call home client from sending daily usage statistics to Redis, [update cluster services configuration -]({{}}) for `call_home_agent` with a REST API request: - - ```sh - PUT /v1/cluster/services_configuration - { "call_home_agent": { - "operating_mode": "disabled" - } - } - ``` +- The [call home client]({{}}) sends daily usage statistics to Redis for operational insights. Reports include memory usage, shard information, enabled features, and other operational metrics. - [Support packages]({{}}) now include [usage reports]({{}}). From 1afad13649b5dbbd71a930f15ca7981617518a9c Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 28 Apr 2025 10:47:51 -0500 Subject: [PATCH 81/85] Removed RS156570 from 7.22 known issues --- content/operate/rs/release-notes/rs-7-22-releases/_index.md | 2 -- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 -- 2 files changed, 4 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/_index.md b/content/operate/rs/release-notes/rs-7-22-releases/_index.md index f9af4bfde..f7321cca6 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/_index.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/_index.md @@ -111,8 +111,6 @@ The following table provides a snapshot of supported platforms as of this Redis For down: 2-1000000 -- RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. - - RS156391: The `job_scheduler`'s memory usage can increase significantly when the diagnostic logging service is enabled. ## Known limitations diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 0f58ba36a..34aca9289 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -275,8 +275,6 @@ The following table shows the SHA256 checksums for the available packages: For down: 2-1000000 -- RS156570: Redis Enterprise Software version 7.22.0 can experience a significant performance impact when using search indexes with vector fields of type HNSW. This issue is characterized by elevated CPU usage, even during idle periods, due to periodic database information collection for metrics and monitoring. This behavior can also affect other database operations. For example, the `FT.INFO` command can become long-running on such indexes. - - RS156391: The `job_scheduler`'s memory usage can increase significantly when the diagnostic logging service is enabled. ## Known limitations From cef09d7e69d0a18e594aaaf3f7fd257787b507f7 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 28 Apr 2025 11:20:41 -0500 Subject: [PATCH 82/85] DOC-5156 RS: Add CVE to 7.22 release notes draft --- .../rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 34aca9289..618b62dc4 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -317,8 +317,14 @@ Some CVEs announced for open source Redis do not affect Redis Enterprise Softwar Redis Enterprise Software 7.22.0-28 supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. +Redis 7.4.x: + +- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service. + Redis 7.2.x: +- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service. + - (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. - (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. @@ -363,6 +369,8 @@ Redis 7.0.x: Redis 6.2.x: +- (CVE-2025-21605) An unauthenticated client can cause unlimited growth of output buffers until the server runs out of memory or is terminated, which can lead to denial-of-service. + - (CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution. - (CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as `KEYS`, `SCAN`, `PSUBSCRIBE`, `FUNCTION LIST`, `COMMAND LIST`, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. From 0e67f0f1d239839c977ddfcbde7f19e6ade08fe8 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 28 Apr 2025 14:15:47 -0500 Subject: [PATCH 83/85] DOC-5099 Added 7.22.0-34 resolved issue to 7.22 release notes draft --- .../operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 618b62dc4..5a0cc1e8c 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -193,6 +193,8 @@ The following table shows which Redis modules are compatible with each Redis dat - RS145047: Fixed an issue where repeated error messages were excessively logged when the auditing server was no longer reachable. +- RS155261: Fixed an issue where the CRDB syncer could fail after an upgrade due to `SASL negotation failed` errors. + ## Version changes - The fully qualified domain name is now validated using the FQDN library instead of a regex during cluster creation. From 10d31be38d79c09a53f28c4cb1ea2a19c3b8bfa4 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 28 Apr 2025 14:18:49 -0500 Subject: [PATCH 84/85] Updated 7.22 GA build number in release notes draft --- .../rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md index 5a0cc1e8c..9ac094e14 100644 --- a/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md +++ b/content/operate/rs/release-notes/rs-7-22-releases/rs-7-22-0-28.md @@ -1,5 +1,5 @@ --- -Title: Redis Enterprise Software release notes 7.22.0-28 (April 2025) +Title: Redis Enterprise Software release notes 7.22.0-34 (April 2025) alwaysopen: false categories: - docs @@ -7,7 +7,7 @@ categories: - rs compatibleOSSVersion: Redis 7.4.0 description: Diagnostic logging service. Call home client to send daily usage statistics to Redis. Usage reports in support packages. Revamp database API. Migration status API. Two-dimensional rack awareness. New version for actions API. Additional REST API enhancements. -linkTitle: 7.22.0-28 (April 2025) +linkTitle: 7.22.0-34 (April 2025) weight: 90 --- @@ -253,7 +253,7 @@ The following table provides a snapshot of supported platforms as of this Redis The following table shows the SHA256 checksums for the available packages: -| Package | SHA256 checksum (7.22.0-28 April release) | +| Package | SHA256 checksum (7.22.0-34 April release) | |---------|---------------------------------------| | Ubuntu 20 | c2241018c937ab6110e2a19b85803351d1ebe6bd3d012e51895228bbfe72cbb4 | | Ubuntu 22 | db2bd5c205969ba1c3af986dfcb077dd485de82e229520d17e09770ccc28d284 | @@ -317,7 +317,7 @@ As part of Redis's commitment to security, Redis Enterprise Software implements Some CVEs announced for open source Redis do not affect Redis Enterprise Software due to different or additional functionality available in Redis Enterprise Software that is not available in open source Redis. -Redis Enterprise Software 7.22.0-28 supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. +Redis Enterprise Software 7.22.0-34 supports open source Redis 7.4, 7.2, and 6.2. Below is the list of open source Redis CVEs fixed by version. Redis 7.4.x: From 6a90c6cb38e7c6128b800425015666758629712d Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Mon, 28 Apr 2025 16:54:13 -0500 Subject: [PATCH 85/85] Added more details about call home behavior and purpose --- content/operate/rs/clusters/configure/call-home.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/operate/rs/clusters/configure/call-home.md b/content/operate/rs/clusters/configure/call-home.md index 638e41d82..704cc9818 100644 --- a/content/operate/rs/clusters/configure/call-home.md +++ b/content/operate/rs/clusters/configure/call-home.md @@ -11,7 +11,9 @@ linkTitle: Call home client weight: 80 --- -The call home client sends daily usage statistics to Redis for operational insights. Reports include memory usage, shard information, enabled features, and other operational metrics. +The call home client collects data hourly and sends daily usage statistics to Redis. Reports include memory usage, shard details, enabled features, and other operational metrics. To prevent increased load when multiple clusters are running, the daily report is sent at a random time. + +These reports provide insights into license consumption, which helps Redis to ensure performance metrics align with contractual agreements, optimize service delivery, and offer proactive customer support. We recommend contacting [Redis support](https://redis.io/support/) before making changes to call home behavior.