diff --git a/content/embeds/rs-8-enabled-modules.md b/content/embeds/rs-8-enabled-modules.md new file mode 100644 index 0000000000..ce9b3bf973 --- /dev/null +++ b/content/embeds/rs-8-enabled-modules.md @@ -0,0 +1,5 @@ +| Database type | Automatically enabled capabilities | +|---------------|------------------------------------| +| RAM-only | [Search and query]({{}})
[JSON]({{}})
[Time series]({{}})
[Probabilistic]({{}}) | +| Flash-enabled ([Auto Tiering]({{}})) | [JSON]({{}})
[Probabilistic]({{}}) | +| [Active-Active]({{}}) | [Search and query]({{}})
[JSON]({{}}) | \ No newline at end of file diff --git a/content/embeds/rs-prometheus-metrics-v2.md b/content/embeds/rs-prometheus-metrics-v2.md index 2121cd245f..ff05a885dc 100644 --- a/content/embeds/rs-prometheus-metrics-v2.md +++ b/content/embeds/rs-prometheus-metrics-v2.md @@ -2,6 +2,7 @@ | Metric | Type | Description | | :-------- | :--- | :---------- | +| endpoint_accepted_connections | counter | Number of incoming accepted client connections | | endpoint_client_connections | counter | Number of client connection establishment events | | endpoint_client_disconnections | counter | Number of client disconnections initiated by the client | | endpoint_client_connection_expired | counter | Total number of client connections with expired TTL (Time To Live) | @@ -9,9 +10,11 @@ | endpoint_client_expiration_refresh | counter | Number of expiration time changes of clients | | endpoint_client_tracking_off_requests | counter | Total number of `CLIENT TRACKING OFF` requests | | endpoint_client_tracking_on_requests | counter | Total number of `CLIENT TRACKING ON` requests | +| endpoint_connections_rate | gauge | The rate of incoming connections. Computed as `n_accepted / N` for the last interval where `n_accepted` is the number of accepted connections in this interval, and `N` is the interval in seconds. | | endpoint_disconnected_cba_client | counter | Number of certificate-based clients disconnected | | endpoint_disconnected_ldap_client | counter | Number of LDAP clients disconnected | | endpoint_disconnected_user_password_client | counter | Number of user&password clients disconnected | +| endpoint_dispatch_failures | counter | Number of clients closed due to failure to be dispatched to workers | | endpoint_disposed_commands_after_client_caching | counter | Total number of client caching commands that were disposed due to misuse | | endpoint_egress | counter | Number of egress bytes | | endpoint_egress_pending | counter | Number of send-pending bytes | @@ -26,6 +29,8 @@ | endpoint_other_requests_latency_histogram_bucket | histogram | Latency histograms for commands other than read or write commands. Can be used to represent different latency percentiles.
p99.9 example:
`histogram_quantile(0.999, sum(rate(endpoint_other_requests_latency_histogram_bucket{cluster="$cluster", db="$db"}[$__rate_interval]) ) by (le, db))` | | endpoint_other_responses | counter | Number of other responses | | endpoint_proxy_disconnections | counter | Number of client disconnections initiated by the proxy | +| endpoint_rate_limit_ok | gauge | Rate limit status based on the last 2 intervals.
0 = rate limit was recently exceeded
1 = rate limit was not recently exceeded | +| endpoint_rate_limit_overflows | counter | Total number of rate limit overflows | | endpoint_read_requests | counter | Number of read requests | | endpoint_read_requests_latency_histogram | histogram | Latency (in µs) histogram of read commands | | endpoint_read_requests_latency_histogram_bucket | histogram | Latency histograms for read commands. Can be used to represent different latency percentiles.
p99.9 example:
`histogram_quantile(0.999, sum(rate(endpoint_read_requests_latency_histogram_bucket{cluster="$cluster", db="$db"}[$__rate_interval]) ) by (le, db))` | @@ -37,9 +42,6 @@ | endpoint_write_requests_latency_histogram | histogram | Latency (in µs) histogram of write commands | | endpoint_write_requests_latency_histogram_bucket | histogram | Latency histograms for write commands. Can be used to represent different latency percentiles.
p99.9 example:
`histogram_quantile(0.999, sum(rate(endpoint_write_requests_latency_histogram_bucket{cluster="$cluster", db="$db"}[$__rate_interval]) ) by (le, db))` | | endpoint_write_responses | counter | Number of write responses | -| proxy_connections_rate | gauge | The rate of incoming connections. Computed as `n_accepted / N` for the last interval where `n_accepted` is the number of accepted connections in this interval, and `N` is the interval in seconds. | -| proxy_rate_limit_ok | gauge | Rate limit status based on the last 2 intervals.
0 = rate limit was recently exceeded
1 = rate limit was not recently exceeded | -| proxy_rate_limit_overflows | counter | Total number of rate limit overflows | ## Node metrics @@ -76,6 +78,7 @@ | total_node_count{cluster_wd=} | gauge| Number of nodes | | total_primary_selection_ended{cluster_wd=} | counter | Monotonic counter for each selection process that ended | | total_primary_selections{cluster_wd=} | counter | Monotonic counter for each selection process that started| +| users_count | gauge | Current number of users on the cluster | ## Replication metrics diff --git a/content/embeds/rs-upgrade-paths.md b/content/embeds/rs-upgrade-paths.md index 26d10e922a..120cc05aca 100644 --- a/content/embeds/rs-upgrade-paths.md +++ b/content/embeds/rs-upgrade-paths.md @@ -4,12 +4,13 @@ :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 | Upgrade to Redis Software 7.22.x | +| Current Redis Software cluster version | 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 | Upgrade to Redis Software 8.0.x | |:-----------------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:|:----------------:| -| 6.0.x | | | | :x: | :x: | :x: | -| 6.2.4
6.2.8 | | | | | :x: | :x: | -| 6.2.10
6.2.12
6.2.18 | | | | | | :x: | -| 6.4.x | – | | | | | | -| 7.2.x | – | – | | | | | -| 7.4.x | – | – | – | | | | -| 7.8.x | – | – | – | – | | | +| 6.0.x | | | :x: | :x: | :x: | :x: | +| 6.2.4
6.2.8 | | | | :x: | :x: | :x: | +| 6.2.10
6.2.12
6.2.18 | | | | | :x: | :x: | +| 6.4.x | | | | | | | +| 7.2.x | – | | | | | | +| 7.4.x | – | – | | | | | +| 7.8.x | – | – | – | | | | +| 7.22.x | – | – | – | – | | | diff --git a/content/embeds/supported-platforms-embed.md b/content/embeds/supported-platforms-embed.md index 5dee18bb4b..ec6938aa50 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.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | -|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| -| **Release date** | May 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 | May 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) | | | | | | | +| Redis Software
major versions | 8.0 | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Oct 2025 | May 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 | Oct 2027 | May 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/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md b/content/integrate/prometheus-with-redis-enterprise/prometheus-metrics-definitions.md index 1cf3fb5bb4..94ad91ced7 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/_index.md b/content/operate/_index.md index 2ed166aaae..4fb71dccc7 100644 --- a/content/operate/_index.md +++ b/content/operate/_index.md @@ -24,7 +24,7 @@ hideListLinks: true | Replication | [Replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) | [Replication]({{}}) | [Replication]({{< relref "/operate/oss_and_stack/management/replication" >}}) | [Create replica databases]({{}})| | Active-Active geo-distribution | [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) | [Active-Active Redis]({{}}) | | [Active-Active databases]({{}}) | | Rolling upgrades | [Upgrade database version]({{< relref "/operate/rc/databases/upgrade-version" >}}) | [Upgrade Redis Software]({{}}) | | [Upgrade Redis for K8s]({{}}) | -| Redis Flex/Auto tiering | [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}}) | [Auto Tiering]({{}}) | | [Auto Tiering]({{}}) | +| Redis Flex/Auto tiering | [Create a Redis Flex database]({{< relref "/operate/rc/databases/create-database/create-flex-database" >}}) | [Redis Flex]({{}}) | | [Auto Tiering]({{}}) | | Persistence | [Data persistence]({{< relref "/operate/rc/databases/configuration/data-persistence" >}}) | [Persistence]({{}}) | [Persistence]({{< relref "/operate/oss_and_stack/management/replication" >}}) | [Persistence volumes]({{}})| | Recovery | Automatic | [Recover cluster]({{}}) | [Manual failover]({{< relref "/operate/oss_and_stack/management/scaling#manual-failover" >}}) | [Cluster recovery]({{}}) | | Backups | [Back up a database]({{< relref "/operate/rc/databases/back-up-data" >}}) | [Schedule backups]({{}}) | [Persistence]({{< relref "/operate/oss_and_stack/management/replication" >}}) | [REDB spec.backup]({{}}) | diff --git a/content/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities.md b/content/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities.md index e6f7b1c290..c0071191ee 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities.md @@ -56,7 +56,7 @@ For details about individual features, see the corresponding documentation. [^2]: RediSearch version 1.6 supported Replica Of only between databases with the same number of shards. This limitation was fixed in v2.0. -[^3]: You cannot use search and query with the [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}). +[^3]: You cannot use search and query with the [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}). This limitation was fixed in Redis Enterprise Software version 8.0. [^4]: You currently cannot combine Auto Tiering with Redis Open Source features in Redis Cloud. diff --git a/content/operate/oss_and_stack/stack-with-enterprise/install/_index.md b/content/operate/oss_and_stack/stack-with-enterprise/install/_index.md index 7f68824fed..19b3e97d6d 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/install/_index.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/install/_index.md @@ -11,7 +11,15 @@ linkTitle: Install and upgrade modules weight: 4 --- -Several modules, which provide Redis Stack features, come packaged with [Redis Enterprise Software]({{< relref "/operate/rs" >}}). As of version 7.8.2, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. However, if you want to use additional modules or upgrade a module to a more recent version, you need to: +Several modules that provide additional Redis capabilities, such as search and query, JSON, time series, and probabilistic data structures, come packaged with [Redis Enterprise Software]({{< relref "/operate/rs" >}}). As of version 8.0, Redis Enterprise Software includes four feature sets, compatible with different Redis database versions. + +However, if you want to use additional modules or upgrade a module to a more recent version, you need to: 1. [Install a module package]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) on the cluster. 1. [Enable a module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database" >}}) for a new database or [upgrade a module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) in an existing database. + +## Automatically enabled capabilities in Redis 8 + +Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows: + +{{}} diff --git a/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster.md b/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster.md index 0f089a733c..d41d8e9913 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster.md @@ -10,14 +10,12 @@ linkTitle: Install on a cluster weight: 10 --- -[Redis Enterprise Software]({{< relref "/operate/rs" >}}) comes packaged with several modules. As of version 7.8.2, Redis Enterprise Software includes three feature sets, compatible with different Redis database versions. You can view the installed modules, their versions, and their minimum compatible Redis database versions from **Cluster > Modules** in the Cluster Manager UI. +[Redis Enterprise Software]({{< relref "/operate/rs" >}}) comes packaged with several modules that provide additional Redis capabilities such as [search and query]({{}}), [JSON]({{}}), [time series]({{}}), and [probabilistic data structures]({{}}). As of version 8.0, Redis Enterprise Software includes four feature sets, compatible with different Redis database versions. You can view the installed modules, their versions, and their minimum compatible Redis database versions from **Cluster > Modules** in the Cluster Manager UI. To use other modules or upgrade an existing module to a more recent version, you need to install the new module package on your cluster. {{}} -- Some module versions are not supported or recommended for use with Redis Enterprise. - -- We recommend consulting [Redis support](https://redis.io/support/) before you upgrade a module on the cluster, especially if the cluster is used in production. +Some module versions are not supported or recommended for use with Redis Enterprise Software. {{}} ## Get packaged modules @@ -28,17 +26,61 @@ To install or upgrade a module on a [Redis Enterprise Software]({{< relref "/ope - For custom-packaged modules, download a [custom-packaged module](https://redislabs.com/community/redis-modules-hub/) from the developer. -## Add a module to a cluster +## Add a user-defined module to a cluster (Redis Software v8.0.x and later) {#add-user-defined-module-to-cluster} + +To add a custom module to a cluster running Redis Enterprise Software version 8.0.x or later, use the following REST API requests: + +1. [Upload the custom module configuration]({{< relref "/operate/rs/references/rest-api/requests/modules/user-defined#post-user-defined-module" >}}). Replace the values in the following example with your own. + + ```sh + POST https://:/v2/modules/user-defined + { + "module_name": "TestModule", + "version": 1, + "semantic_version": "0.0.1", + "display_name": "test module", + "commands": [ + { + "command_arity": -1, + "command_name": "module.command", + "first_key": 1, + "flags": ["write"], + "last_key": 1, + "step": 1 + } + ], + "command_line_args": "", + "capabilities": ["list", "of", "capabilities"], + "min_redis_version": "2.1" + } + ``` + +1. For each node in the cluster, [upload the custom module artifact]({{< relref "/operate/rs/references/rest-api/requests/modules/user-defined#post-local-user-defined-artifacts" >}}): + + ```sh + POST https://:/v2/local/modules/user-defined/artifacts + "module=@/tmp/custom-module.so" + ``` + + The *module* parameter specifies the full path of the module artifact and must be submitted as form-data. In addition, the module artifact must be available and accessible to the server processing the request. + +## Add a module to a cluster (Redis Software v7.22.x and earlier) {#add-a-module-to-a-cluster} + +Use one of the following methods to add a module to a cluster running Redis Enterprise Software version 7.22.x or earlier: -Use one of the following methods to add a module to a Redis Enterprise cluster: +{{< multitabs id="install-modules" + tab1="Cluster Manager UI" + tab2="REST API" >}} -- REST API [`POST` request to the `/v2/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#post-module-v2" >}}) endpoint +To add a module to the cluster using the Cluster Manager UI: -- Redis Enterprise Cluster Manager UI +1. Go to **Cluster > Modules**. -- For RedisGears, follow these [installation instructions]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1/installing-redisgears" >}}) +1. Select **Upload module**. -### REST API method +1. Use the file browser to add the packaged module. + +-tab-sep- To add a module to the cluster using the REST API: @@ -47,7 +89,7 @@ To add a module to the cluster using the REST API: 1. Add the module to the cluster with a [`POST` request to the `/v2/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#post-module-v2" >}}) endpoint: ```sh - POST https://[host][:port]/v2/modules + POST https://:/v2/modules "module=@/tmp/redisearch.Linux-ubuntu16.04-x86_64.2.2.6.zip" ``` @@ -55,15 +97,13 @@ To add a module to the cluster using the REST API: 1. If the module installation succeeds, the `POST` request returns a [JSON object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}) that represents the new module. If it fails, it may return a JSON object with an `error_code` and `description` with more details. -### Cluster Manager UI method +{{< /multitabs >}} -To add a module to the cluster using the Cluster Manager UI: +For RedisGears, follow these [installation instructions]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1/installing-redisgears" >}}) instead. -1. Go to **Cluster > Modules**. - -1. Select **Upload module**. - -1. Use the file browser to add the packaged module. +{{}} +We recommend consulting [Redis support](https://redis.io/support/) before you upgrade a module on the cluster, especially if the cluster is used in production. +{{}} ## Next steps diff --git a/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database.md b/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database.md index 42f90583dd..197ef6571e 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-database.md @@ -13,16 +13,22 @@ weight: 30 Modules add additional functionality to Redis databases for specific use cases. You can enable modules when you create a database. -## Prerequisites +## Automatically enabled capabilities in Redis 8 -- [Installed the module on the cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) -- [Upgraded the module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) to the latest version +Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows: + +{{}} ## Create a database with a module -{{}} You can only add modules to a database when you first create it. You cannot add modules to an existing database. -{{}} + +### Prerequisites + +- [Installed the module on the cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) +- [Upgraded the module]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/upgrade-module" >}}) to the latest version + +### Create a database and enable capabilities In the Redis Enterprise Cluster Manager UI, follow these steps to add modules to a database: diff --git a/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md b/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md index e7e29289e2..4b0718a774 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/json/active-active.md @@ -21,7 +21,7 @@ To use JSON in an Active-Active database, you must enable JSON during database c Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active database]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. -In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. To create an Active-Active JSON database in Redis Enterprise Software: +In Redis Enterprise Software, Active-Active databases created with or upgraded to Redis version 8 or later automatically enable JSON. For earlier Redis versions, you can enable JSON during database creation: 1. See [Create an Active-Active geo-replicated database]({{< relref "/operate/rs/databases/active-active/create" >}}) in the Redis Enterprise Software documentation for prerequisites and detailed steps. diff --git a/content/operate/oss_and_stack/stack-with-enterprise/search/_index.md b/content/operate/oss_and_stack/stack-with-enterprise/search/_index.md index 48bfe57b22..774649f45c 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/search/_index.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/search/_index.md @@ -64,7 +64,7 @@ Because the index on the new shard is created synchronously though, it's expecte ## Limitations -- You cannot use search and query capabilities with the [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}). +- You cannot use search and query capabilities with the [OSS Cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}). This limitation was fixed in Redis Enterprise Software version 8.0. ## More info diff --git a/content/operate/oss_and_stack/stack-with-enterprise/search/search-active-active.md b/content/operate/oss_and_stack/stack-with-enterprise/search/search-active-active.md index 86499de445..74078f4744 100644 --- a/content/operate/oss_and_stack/stack-with-enterprise/search/search-active-active.md +++ b/content/operate/oss_and_stack/stack-with-enterprise/search/search-active-active.md @@ -15,7 +15,7 @@ You can run search operations on any instance of an Active-Active database. ## How it works -1. Create an Active-Active database with RediSearch 2.x enabled. +1. Create an Active-Active database with RediSearch 2.x enabled. Active-Active databases created with or upgraded to Redis version 8 or later automatically enable search and query. 1. [Create the index]({{< relref "commands/ft.create" >}}) on each instance of the database. 1. If you are using [synonyms]({{< relref "/develop/ai/search-and-query/advanced-concepts/synonyms" >}}), you need to add them to each replica. 1. The index is maintained by each instance outside of the database keyspace, so only updates to the hashes in the databases are synchronized. diff --git a/content/operate/rc/databases/configuration/data-eviction-policies.md b/content/operate/rc/databases/configuration/data-eviction-policies.md index e29f399ab3..c50de91b20 100644 --- a/content/operate/rc/databases/configuration/data-eviction-policies.md +++ b/content/operate/rc/databases/configuration/data-eviction-policies.md @@ -35,7 +35,7 @@ For each database, you can choose from these data eviction policies: ## Prevent data eviction -Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) +Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) to prevent data eviction but maintain high performance. Auto Tiering can extend your database across RAM and Flash Memory and intelligently manage "hot" (active) data in RAM and "cold" (less active) data in Flash memory (SSD). diff --git a/content/operate/rc/databases/create-database/create-pro-database-new.md b/content/operate/rc/databases/create-database/create-pro-database-new.md index 6704397e3f..3a96c77e73 100644 --- a/content/operate/rc/databases/create-database/create-pro-database-new.md +++ b/content/operate/rc/databases/create-database/create-pro-database-new.md @@ -130,7 +130,7 @@ The following settings are defined in the **Advanced options** of the **Setup** | **Public endpoint access** | Select whether or not to [block public endpoints]({{< relref "/operate/rc/security/database-security/block-public-endpoints" >}}) for all databases in the subscription. | | **VPC configuration** | Select **In a new VPC** to deploy to a new [virtual private cloud](https://en.wikipedia.org/wiki/Virtual_private_cloud) (VPC).

To deploy these databases to an existing virtual private cloud, select **In existing VPC** and then set VPC ID to the appropriate ID value.

(Available only if [Redis Cloud Bring your own Cloud]({{< relref "/operate/rc/subscriptions/bring-your-own-cloud" >}}) is enabled) | | **Deployment CIDR** | The [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) range of IP addresses for your deployment. Redis creates a new [subnet](https://en.wikipedia.org/wiki/Subnetwork) for the **Deployment CIDR** in your [virtual private cloud](https://en.wikipedia.org/wiki/Virtual_private_cloud) (VPC). It cannot overlap with the CIDR ranges of other subnets used by your account.

For deployments in an existing VPC, the **Deployment CIDR** must be within your VPC's **primary** CIDR range (secondary CIDRs are not supported). | -| **Auto Tiering**| Determines if your databases are stored only in memory (RAM) or are split between memory and Flash storage (RAM+Flash). See [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}})| +| **Auto Tiering**| Determines if your databases are stored only in memory (RAM) or are split between memory and Flash storage (RAM+Flash). See [Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}})| | **Maintenance windows** | Determines when Redis can perform [maintenance]({{< relref "/operate/rc/subscriptions/maintenance" >}}) on your databases. Select **Manual** if you want to set [manual maintenance windows]({{< relref "/operate/rc/subscriptions/maintenance/set-maintenance-windows" >}}). | When finished, choose **Continue** to determine your size requirements. diff --git a/content/operate/rs/7.4/databases/auto-tiering/_index.md b/content/operate/rs/7.4/databases/auto-tiering/_index.md index f5d67e68ea..aa15bab63f 100644 --- a/content/operate/rs/7.4/databases/auto-tiering/_index.md +++ b/content/operate/rs/7.4/databases/auto-tiering/_index.md @@ -11,6 +11,7 @@ hideListLinks: true linktitle: Auto Tiering weight: 50 url: '/operate/rs/7.4/databases/auto-tiering/' +aliases: /operate/rs/7.4/databases/flash/ --- Redis Enterprise's auto tiering offers users the unique ability to use solid state drives (SSDs) to extend databases beyond DRAM capacity. Developers can build applications that require large datasets using the same Redis API. diff --git a/content/operate/rs/7.4/databases/auto-tiering/quickstart.md b/content/operate/rs/7.4/databases/auto-tiering/quickstart.md index 4b24acd33d..74a888833e 100644 --- a/content/operate/rs/7.4/databases/auto-tiering/quickstart.md +++ b/content/operate/rs/7.4/databases/auto-tiering/quickstart.md @@ -10,6 +10,7 @@ description: Get started with Auto Tiering quickly, creating a cluster and datab linkTitle: Quick start weight: 80 url: '/operate/rs/7.4/databases/auto-tiering/quickstart/' +aliases: /operate/rs/7.4/databases/flash/quickstart/ --- This page guides you through a quick setup of [Auto Tiering]({{< relref "/operate/rs/7.4/databases/auto-tiering/" >}}) with a single node for testing and demo purposes. diff --git a/content/operate/rs/7.4/databases/auto-tiering/storage-engine.md b/content/operate/rs/7.4/databases/auto-tiering/storage-engine.md index 91e3af4256..b082c372d2 100644 --- a/content/operate/rs/7.4/databases/auto-tiering/storage-engine.md +++ b/content/operate/rs/7.4/databases/auto-tiering/storage-engine.md @@ -9,6 +9,7 @@ description: Manage the storage engine used for your database with auto tiering linkTitle: Manage storage engine weight: 100 url: '/operate/rs/7.4/databases/auto-tiering/storage-engine/' +aliases: /operate/rs/7.4/databases/flash/storage-engine/ --- ## Manage the storage engine diff --git a/content/operate/rs/7.4/references/rest-api/objects/cluster_settings.md b/content/operate/rs/7.4/references/rest-api/objects/cluster_settings.md index 41da2f9461..c8b7bbebd1 100644 --- a/content/operate/rs/7.4/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/7.4/references/rest-api/objects/cluster_settings.md @@ -16,52 +16,52 @@ Cluster resources management policy | Name | Type/Value | Description | |------|------------|-------------| | acl_pubsub_default | `resetchannels`
`allchannels` | Default pub/sub ACL rule for all databases in the cluster:
•`resetchannels` blocks access to all channels (restrictive)
•`allchannels` allows access to all channels (permissive) | -| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | -| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | -| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| 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 | +| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | +| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | +| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| 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/7.4/security/audit-events" >}}) for new databases by default if set to true. | -| 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_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 | -| 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_non_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default proxy_policy for newly created non-sharded databases' endpoints | +| 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 | | diskless_repl | `yes`
`no` (default: `yes`) | If `yes`, enables the default Redis diskless replication mechanism | -| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | +| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | | evict_node_use_free_memory | boolean | When evicting a node, use the free memory instead of the provisional memory to check if the shards from the old node fit on the new one | -| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | -| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | -| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | -| 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. | +| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | +| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | +| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | +| 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 | -| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | +| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | | 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_slave_full_syncs | integer (default: 0) | Maximum number of simultaneous replica full syncs that can run at any given time. 0 means unlimited. | | max_simultaneous_backups | integer (default: 4) | Maximum number of backup processes allowed at the same time | -| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | -| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | +| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | +| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | | parallel_shards_upgrade | integer | Maximum number of shards to upgrade in parallel | -| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | -| persistence_cleanup_scan_interval | string | [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the Redis cleanup schedule | +| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | +| 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 | -| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| redis_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 | +| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| redis_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 | | redis_upgrade_policy | **`major`**
`latest` | Create/upgrade Redis Enterprise software on databases in the cluster by compatibility with major versions or latest versions of Redis Open Source | -| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | +| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | | shards_overbooking | boolean | If true, all databases' memory_size is ignored during shards placement | | show_internals | boolean | Show internal databases (and their shards and endpoints) REST APIs | -| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | +| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | | slave_ha | boolean | Enable the replica high-availability mechanism. Deprecated as of Redis Enterprise Software v7.2.4. | -| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | +| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | | slave_ha_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | | slave_ha_grace_period | integer | Time in seconds between a node failure and when the replica high-availability mechanism starts relocating shards | | slow_log_max_len | integer (default: 1024) | Set max slow log entries in debug info | diff --git a/content/operate/rs/7.8/databases/auto-tiering/_index.md b/content/operate/rs/7.8/databases/auto-tiering/_index.md index 4f761e4e54..fd8ec71407 100644 --- a/content/operate/rs/7.8/databases/auto-tiering/_index.md +++ b/content/operate/rs/7.8/databases/auto-tiering/_index.md @@ -11,6 +11,7 @@ hideListLinks: true linktitle: Auto Tiering weight: 50 url: '/operate/rs/7.8/databases/auto-tiering/' +aliases: /operate/rs/7.8/databases/flash/ --- Redis Enterprise's auto tiering offers users the unique ability to use solid state drives (SSDs) to extend databases beyond DRAM capacity. Developers can build applications that require large datasets using the same Redis API. diff --git a/content/operate/rs/7.8/databases/auto-tiering/quickstart.md b/content/operate/rs/7.8/databases/auto-tiering/quickstart.md index f50d6434d0..46df1434aa 100644 --- a/content/operate/rs/7.8/databases/auto-tiering/quickstart.md +++ b/content/operate/rs/7.8/databases/auto-tiering/quickstart.md @@ -10,6 +10,7 @@ description: Get started with Auto Tiering quickly, creating a cluster and datab linkTitle: Quick start weight: 80 url: '/operate/rs/7.8/databases/auto-tiering/quickstart/' +aliases: /operate/rs/7.8/databases/flash/quickstart/ --- This page guides you through a quick setup of [Auto Tiering]({{< relref "/operate/rs/7.8/databases/auto-tiering/" >}}) with a single node for testing and demo purposes. diff --git a/content/operate/rs/7.8/databases/auto-tiering/storage-engine.md b/content/operate/rs/7.8/databases/auto-tiering/storage-engine.md index b4dec2004e..58acafd948 100644 --- a/content/operate/rs/7.8/databases/auto-tiering/storage-engine.md +++ b/content/operate/rs/7.8/databases/auto-tiering/storage-engine.md @@ -9,6 +9,7 @@ description: Manage the storage engine used for your database with auto tiering linkTitle: Manage storage engine weight: 100 url: '/operate/rs/7.8/databases/auto-tiering/storage-engine/' +aliases: /operate/rs/7.8/databases/flash/storage-engine/ --- ## Manage the storage engine diff --git a/content/operate/rs/7.8/references/rest-api/objects/cluster_settings.md b/content/operate/rs/7.8/references/rest-api/objects/cluster_settings.md index a2b83042df..9da80050e6 100644 --- a/content/operate/rs/7.8/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/7.8/references/rest-api/objects/cluster_settings.md @@ -16,59 +16,59 @@ Cluster resources management policy | Name | Type/Value | Description | |------|------------|-------------| | acl_pubsub_default | `resetchannels`
`allchannels` | Default pub/sub ACL rule for all databases in the cluster:
•`resetchannels` blocks access to all channels (restrictive)
•`allchannels` allows access to all channels (permissive) | -| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | -| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | -| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| 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 | +| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | +| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | +| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| 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/7.8/security/audit-events" >}}) for new databases by default if set to true. | -| 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_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 | +| 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_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_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 | -| default_recovery_wait_time | integer (default: -1) | The default time for new databases to wait for the persistence file to be available during automatic recovery. -1 means wait forever. | -| default_tracking_table_max_keys_policy | integer (default: 1000000) | Defines the default value of the client-side caching invalidation table size for new databases. 0 makes the cache unlimited. | +| default_recovery_wait_time | integer (default: -1) | The default time for new databases to wait for the persistence file to be available during automatic recovery. -1 means wait forever. | +| default_tracking_table_max_keys_policy | integer (default: 1000000) | Defines the default value of the client-side caching invalidation table size for new databases. 0 makes the cache unlimited. | | diskless_repl | `yes`
`no` (default: yes) | If `yes`, enable default Redis diskless replication mechanism (deprecated; use `repl_diskless` instead) | -| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | -| evict_node_use_free_memory | boolean | When evicting a node, use the free memory instead of the provisional memory to check if the shards from the old node fit on the new one | -| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | -| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | -| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | -| 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. | +| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | +| evict_node_use_free_memory | boolean | When evicting a node, use the free memory instead of the provisional memory to check if the shards from the old node fit on the new one | +| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | +| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | +| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | +| 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 | -| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | +| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | | 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_slave_full_syncs | integer (default: 0) | Maximum number of simultaneous replica full syncs that can run at any given time. 0 means unlimited. | | max_simultaneous_backups | integer (default: 4) | Maximum number of backup processes allowed at the same time | -| metrics_exporter_expose_bdb_name | boolean (default: false) | If true, adds a label with the database name to relevant metrics | -| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | -| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | +| metrics_exporter_expose_bdb_name | boolean (default: false) | If true, adds a label with the database name to relevant metrics | +| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | +| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | | parallel_shards_upgrade | integer | Maximum number of shards to upgrade in parallel | -| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | -| persistence_cleanup_scan_interval | string | [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the Redis cleanup schedule | +| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | +| 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 | -| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| redis_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 | +| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| redis_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 | | redis_upgrade_policy | **`major`**
`latest` | Create/upgrade Redis Enterprise software on databases in the cluster by compatibility with major versions or latest versions of Redis Open Source | | repl_diskless | boolean (default: true) | If true, enables the default Redis diskless replication mechanism | -| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | +| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | | shards_overbooking | boolean | If true, all databases' memory_size is ignored during shards placement | | show_internals | boolean | Show internal databases (and their shards and endpoints) REST APIs | -| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | +| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | | slave_ha | boolean | Enable the replica high-availability mechanism. Deprecated as of Redis Enterprise Software v7.2.4. | -| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | +| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | | slave_ha_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | | slave_ha_grace_period | integer | Time in seconds between a node failure and when the replica high-availability mechanism starts relocating shards | | slow_log_max_len | integer (default: 1024) | Set max slow log entries in debug info | | use_librdb | boolean | If true, new databases use the new RDB parser instead of the old one | -| witness_disk_update_frequency_divisor | integer (default: 3) | Redis Enterprise Software updates the witness disk every `node_max_update_time / witness_disk_update_frequency_divisor` seconds | +| witness_disk_update_frequency_divisor | integer (default: 3) | Redis Enterprise Software updates the witness disk every `node_max_update_time / witness_disk_update_frequency_divisor` seconds | diff --git a/content/operate/rs/clusters/add-node.md b/content/operate/rs/clusters/add-node.md index e97a7f51da..d2c44ee738 100644 --- a/content/operate/rs/clusters/add-node.md +++ b/content/operate/rs/clusters/add-node.md @@ -63,7 +63,7 @@ with a custom certificate. 1. Enter a path for [*Persistent storage*]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}), or leave the default path. - 1. To enable [*Auto Tiering*]({{< relref "/operate/rs/databases/auto-tiering/" >}}), + 1. To enable [*Redis Flex or Auto Tiering*]({{< relref "/operate/rs/databases/flash/" >}}), select **Enable flash storage** and enter the path to the flash storage. 1. If the cluster is configured to support [rack-zone awareness]({{< relref "/operate/rs/clusters/configure/rack-zone-awareness.md" >}}), set the **Rack-zone ID** for the new node. diff --git a/content/operate/rs/clusters/logging/alerts-events.md b/content/operate/rs/clusters/logging/alerts-events.md index fc30d6a221..62f8282b14 100644 --- a/content/operate/rs/clusters/logging/alerts-events.md +++ b/content/operate/rs/clusters/logging/alerts-events.md @@ -12,66 +12,69 @@ weight: 50 The following alerts and events can appear in `syslog` and the Cluster Manager UI logs. -| Alert/Event | UI message | Severity | Notes | -|-----------------------------------|----------------------------------------------------------------|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| aof_slow_disk_io | Redis performance is degraded as a result of disk I/O limits | True: error, False: info | node alert | -| authentication_err | | error | bdb event; Replica of - error authenticating with the source database | -| backup_delayed | Periodic backup has been delayed for longer than `` minutes | True: warning, False: info | bdb alert; Has threshold parameter in the data: section of the log entry. | -| backup_failed | | error | bdb event | -| backup_started | | info | bdb event | -| backup_succeeded | | info | bdb event | -| bdb_created | | info | bdb event | -| bdb_deleted | | info | bdb event | -| bdb_updated | | info | bdb event; Indicates that a bdb configuration has been updated | -| checks_error | | error | node event; Indicates that one or more node checks have failed | -| cluster_updated | | info | cluster event; Indicates that cluster settings have been updated | -| compression_unsup_err | | error | bdb event; Replica of - Compression not supported by sync destination | -| crossslot_err | | error | bdb event; Replica of - sharded destination does not support operation executed on source | -| cpu_utilization | CPU utilization has reached ``% | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| even_node_count | True high availability requires an odd number of nodes | True: warning, False: info | cluster alert | -| ephemeral_storage | Ephemeral storage has reached ``% of its capacity | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| export_failed | | error | bdb event | -| export_started | | info | bdb event | -| export_succeeded | | info | bdb event | -| failed | Node failed | critical | node alert | -| free_flash | Flash storage has reached ``% of its capacity | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| high_latency | Latency is higher than `` milliseconds | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| high_syncer_lag | Replica of - sync lag is higher than `` seconds | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| high_throughput | Throughput is higher than `` RPS (requests per second) | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| import_failed | | error | bdb event | -| import_started | | info | bdb event | -| import_succeeded | | info | bdb event | -| inconsistent_redis_sw | Not all databases are running the same open source version | True: warning, False: info | cluster alert | -| inconsistent_rl_sw | Not all nodes in the cluster are running the same Redis Labs Enterprise Cluster version | True: warning, False: info | cluster alert | -| insufficient_disk_aofrw | Node has insufficient disk space for AOF rewrite | True: error, False: info | node alert | -| internal_bdb | Issues with internal cluster databases | True: warning, False: info | cluster alert | -| license_added | | info | cluster event | -| license_deleted | | info | cluster event | -| license_updated | | info | cluster event | -| low_throughput | Throughput is lower than `` RPS (requests per second) | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| memory | Node memory has reached ``% of its capacity | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| multiple_nodes_down | Multiple cluster nodes are down - this might cause data loss | True: warning, False: info | cluster alert | -| net_throughput | Network throughput has reached ``MB/s | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| node_abort_remove_request | | info | node event | -| node_joined | Node joined | info | cluster event | -| node_operation_failed | Node operation failed | error | cluster event | -| node_remove_abort_completed | Node removed | info | cluster event; The remove node is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail. | -| node_remove_abort_failed | Node removed | error | cluster event; The remove node is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail. | -| node_remove_completed | Node removed | info | cluster event; The remove node is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail. | -| node_remove_failed | Node removed | error | cluster event; The remove node is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail. | -| node_remove_request | | info | node event | -| ocsp_query_failed | Failed querying OCSP server | True: error, False: info | cluster alert | -| ocsp_status_revoked | OCSP status revoked | True: error, False: info | cluster alert | -| oom_err | | error | bdb event; Replica of - Replication source/target out of memory | -| persistent_storage | Persistent storage has reached ``% of its capacity | True: warning, False: info | node alert; Has global_threshold parameter in the key/value section of the log entry. | -| ram_dataset_overhead | RAM Dataset overhead in a shard has reached ``% of its RAM limit | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| ram_overcommit | Cluster capacity is less than total memory allocated to its databases | True: error, False: info | cluster alert | -| ram_values | Percent of values in a shard's RAM is lower than ``% of its key count | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| shard_num_ram_values | Number of values in a shard's RAM is lower than `` values | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| size | Dataset size has reached ``% of the memory limit | True: warning, False: info | bdb alert; Has threshold parameter in the key/value section of the log entry. | -| syncer_connection_error | | error | bdb alert | -| syncer_general_error | | error | bdb alert | -| too_few_nodes_for_replication | Database replication requires at least two nodes in cluster | True: warning, False: info | cluster alert | -| user_created | | info | user event | -| user_deleted | | info | user event | -| user_updated | | info | user event; Indicates that a user configuration has been updated | +## Alerts + +| Alert | UI message | Severity | Notes | +|-------|------------|----------|-------| +| aof_slow_disk_io | Redis performance is degraded as a result of disk I/O limits | True: error, False: info | Node alert | +| authentication_err | Error authenticating with the source database | error | BDB event | +| backup_delayed | Periodic backup has been delayed for longer than `` minutes | True: warning, False: info | BDB alert; Has threshold parameter in the data section of the log entry | +| cpu_utilization | CPU utilization has reached ``% | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| even_node_count | True high availability requires an odd number of nodes | True: warning, False: info | Cluster alert | +| ephemeral_storage | Ephemeral storage has reached ``% of its capacity | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| free_flash | Flash storage has reached ``% of its capacity | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| high_latency | Latency is higher than `` milliseconds | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| high_syncer_lag | Sync lag is higher than `` seconds | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| high_throughput | Throughput is higher than `` RPS (requests per second) | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| inconsistent_redis_sw | Not all databases are running the same open source version | True: warning, False: info | Cluster alert | +| inconsistent_rl_sw | Not all nodes in the cluster are running the same Redis Labs Enterprise Cluster version | True: warning, False: info | Cluster alert | +| insufficient_disk_aofrw | Node has insufficient disk space for AOF rewrite | True: error, False: info | Node alert | +| memory | Node memory has reached ``% of its capacity | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| multiple_nodes_down | Multiple cluster nodes are down - this might cause data loss | True: warning, False: info | Cluster alert | +| net_throughput | Network throughput has reached `` MB/s | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| ocsp_query_failed | Failed querying OCSP server | True: error, False: info | Cluster alert | +| ocsp_status_revoked | OCSP status revoked | True: error, False: info | Cluster alert | +| persistent_storage | Persistent storage has reached ``% of its capacity | True: warning, False: info | Node alert; Has global_threshold parameter in the key/value section of the log entry | +| ram_dataset_overhead | RAM Dataset overhead in a shard has reached ``% of its RAM limit | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| ram_overcommit | Cluster capacity is less than total memory allocated to its databases | True: error, False: info | Cluster alert | +| ram_values | Percent of values in a shard's RAM is lower than ``% of its key count | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| shard_num_ram_values | Number of values in a shard's RAM is lower than `` values | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| size | Dataset size has reached ``% of the memory limit | True: warning, False: info | BDB alert; Has threshold parameter in the key/value section of the log entry | +| syncer_connection_error | Syncer connection error | error | BDB alert | +| syncer_general_error | Syncer general error | error | BDB alert | +| too_few_nodes_for_replication | Database replication requires at least two nodes in cluster | True: warning, False: info | Cluster alert | + +## Events + +| Event | UI message | Severity | Notes | +|-------|------------|----------|-------| +| backup_failed | Backup failed | error | BDB event | +| backup_started | Backup started | info | BDB event | +| backup_succeeded | Backup succeeded | info | BDB event | +| bdb_created | Database created | info | BDB event | +| bdb_deleted | Database deleted | info | BDB event | +| bdb_updated | Database updated | info | BDB event; Indicates that a BDB configuration has been updated | +| checks_error | Node checks error | error | Node event; Indicates that one or more node checks have failed | +| cluster_updated | Cluster settings updated | info | Cluster event; Indicates that cluster settings have been updated | +| compression_unsup_err | Compression not supported by sync destination | error | BDB event | +| crossslot_err | Sharded destination does not support operation executed on source | error | BDB event | +| export_failed | Export failed | error | BDB event | +| export_started | Export started | info | BDB event | +| export_succeeded | Export succeeded | info | BDB event | +| import_failed | Import failed | error | BDB event | +| import_started | Import started | info | BDB event | +| import_succeeded | Import succeeded | info | BDB event | +| license_added | License added | info | Cluster event | +| license_deleted | License deleted | info | Cluster event | +| license_updated | License updated | info | Cluster event | +| node_abort_remove_request | Node abort remove request | info | Node event | +| node_joined | Node joined | info | Cluster event | +| node_operation_failed | Node operation failed | error | Cluster event | +| node_remove_abort_completed | Node remove abort completed | info | Cluster event; Node remove is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail | +| node_remove_abort_failed | Node remove abort failed | error | Cluster event; Node remove is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail | +| node_remove_completed | Node removed | info | Cluster event; Node remove is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail | +| node_remove_failed | Node removed | error | Cluster event; Node remove is a process that can fail and can also be aborted. If aborted, the abort can succeed or fail | +| node_remove_request | Node remove request | info | Node event | +| user_created | User created | info | User event | +| user_deleted | User deleted | info | User event | +| user_updated | User updated | info | User event; Indicates that a user configuration has been updated | diff --git a/content/operate/rs/clusters/new-cluster-setup.md b/content/operate/rs/clusters/new-cluster-setup.md index bcbeee6c35..dc9626a609 100644 --- a/content/operate/rs/clusters/new-cluster-setup.md +++ b/content/operate/rs/clusters/new-cluster-setup.md @@ -57,7 +57,7 @@ To create a cluster: 1. Enter a path for [*Persistent storage*]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}), or leave the default path. - 1. To enable [*Auto Tiering*]({{< relref "/operate/rs/databases/auto-tiering/" >}}), + 1. To enable [*Redis Flex or Auto Tiering*]({{< relref "/operate/rs/databases/flash/" >}}), select **Enable flash storage** and enter the path to the flash storage. 1. If the cluster is configured to support [rack-zone awareness]({{< relref "/operate/rs/clusters/configure/rack-zone-awareness.md" >}}), set the **Rack-zone ID** for the new node. diff --git a/content/operate/rs/clusters/replace-node.md b/content/operate/rs/clusters/replace-node.md index 2b44e9daca..7965dc6cbd 100644 --- a/content/operate/rs/clusters/replace-node.md +++ b/content/operate/rs/clusters/replace-node.md @@ -19,7 +19,7 @@ To replace a failed node: configure Redis Enterprise Software on the node. See [Install and setup]({{< relref "/operate/rs/installing-upgrading" >}}) for more information. {{< note >}} -If you are using [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}), make sure the required flash storage is set up on this new node. +If you are using [Redis Flex or Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}), make sure the required flash storage is set up on this new node. {{< /note >}} 1. [Add the node]({{< relref "/operate/rs/clusters/add-node" >}}) to the cluster. Make sure the new node has as much available memory as the faulty diff --git a/content/operate/rs/databases/active-active/create.md b/content/operate/rs/databases/active-active/create.md index c2bc8d1247..434ef72442 100644 --- a/content/operate/rs/databases/active-active/create.md +++ b/content/operate/rs/databases/active-active/create.md @@ -87,14 +87,14 @@ Every instance of an Active-Active database can receive write operations, and al {{Add cluster panel.}} {{}} -If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. +If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. {{}} 1. Click **Join cluster** to add the cluster to the list of participating clusters. 1. Enter a **Database name**. -1. If your cluster supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}), in **Runs on** you can select **Flash** so that your database uses Flash memory. We recommend that you use AOF every 1 sec for the best performance during the initial Active-Active database sync of a new replica. +1. If your cluster supports [Redis Flex or Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}), in **Runs on** you can select **Flash** so that your database uses Flash memory. We recommend that you use AOF every 1 sec for the best performance during the initial Active-Active database sync of a new replica. 1. To configure additional database settings, expand each relevant section to make changes. @@ -132,16 +132,15 @@ If you create a database with Auto Tiering enabled, you also need to set the RAM for this database. Minimum RAM is 10%. Maximum RAM is 50%. {{< /note >}} -- **Memory eviction** - The default [eviction policy]({{}}) for Active-Active databases is `noeviction`. Redis Enterprise versions 6.0.20 and later support all eviction policies for Active-Active databases, unless [Auto Tiering]({{}}) is enabled. +- **Memory eviction** - The default [eviction policy]({{}}) for Active-Active databases is `noeviction`. Redis Enterprise versions 6.0.20 and later support all eviction policies for Active-Active databases, unless [Redis Flex or Auto Tiering]({{}}) is enabled. -- [**Capabilities**]({{< relref "/operate/oss_and_stack/stack-with-enterprise" >}}) (previously **Modules**) - When you create a new in-memory database, you can enable multiple Redis Stack capabilities in the database. For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility +- [**Capabilities**]({{< relref "/operate/oss_and_stack/stack-with-enterprise" >}}) (previously **Modules**) - When you create a new in-memory database, you can enable additional capabilities in the database. You cannot enable them after database creation. + + Active-Active databases created with or upgraded to Redis version 8 or later automatically enable [search and query]({{}}) and [JSON]({{}}), which allows you to index, query, and perform full-text searches of nested JSON documents. + + For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility ]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}) for compatibility details. - - {{}} -To use Redis Stack capabilities, enable them when you create a new database. -You cannot enable them after database creation. - {{}} - + To add capabilities to the database: 1. In the **Capabilities** section, select one or more capabilities. diff --git a/content/operate/rs/databases/active-active/develop/data-types/json.md b/content/operate/rs/databases/active-active/develop/data-types/json.md index 5aad07742c..9503ef840d 100644 --- a/content/operate/rs/databases/active-active/develop/data-types/json.md +++ b/content/operate/rs/databases/active-active/develop/data-types/json.md @@ -21,7 +21,7 @@ To use JSON in an Active-Active database, you must enable JSON during database c Active-Active Redis Cloud databases add JSON by default. See [Create an Active-Active subscription]({{< relref "/operate/rc/databases/create-database/create-active-active-database#select-capabilities" >}}) in the Redis Cloud documentation for details. -In Redis Enterprise Software, JSON is not enabled by default for Active-Active databases. See [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions. +In Redis Enterprise Software, Active-Active databases created with or upgraded to Redis version 8 or later automatically enable JSON. For earlier Redis versions, see [Create an Active-Active JSON database]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json/active-active#create-an-active-active-json-database" >}}) in the Redis Stack and Redis Enterprise documentation for instructions. {{}} diff --git a/content/operate/rs/databases/active-active/develop/develop-for-aa.md b/content/operate/rs/databases/active-active/develop/develop-for-aa.md index fe063cc95e..4cd067baeb 100644 --- a/content/operate/rs/databases/active-active/develop/develop-for-aa.md +++ b/content/operate/rs/databases/active-active/develop/develop-for-aa.md @@ -97,7 +97,7 @@ execute them in script-replication mode. ## Eviction -The default policy for Active-Active databases is _noeviction_ mode. Redis Enterprise version 6.0.20 and later support all eviction policies for Active-Active databases, unless [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering" >}})(previously known as Redis on Flash) is enabled. +The default policy for Active-Active databases is _noeviction_ mode. Redis Enterprise version 6.0.20 and later support all eviction policies for Active-Active databases, unless [Redis Flex or Auto Tiering]({{< relref "/operate/rs/databases/flash" >}})(previously known as Redis on Flash) is enabled. For details, see [eviction for Active-Active databases]({{< relref "/operate/rs/databases/memory-performance/eviction-policy#active-active-database-eviction" >}}). diff --git a/content/operate/rs/databases/active-active/manage.md b/content/operate/rs/databases/active-active/manage.md index 8c5b76da1f..0785cacd05 100644 --- a/content/operate/rs/databases/active-active/manage.md +++ b/content/operate/rs/databases/active-active/manage.md @@ -35,7 +35,7 @@ the new database instance can accept connections and read operations. The new instance does not accept write operations until it is in the syncing state. {{}} -If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. +If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. {{}} To add a new participating cluster to an existing Active-Active configuration using the Cluster Manager UI: diff --git a/content/operate/rs/databases/active-active/planning.md b/content/operate/rs/databases/active-active/planning.md index ed033ddba2..3ea62f15a6 100644 --- a/content/operate/rs/databases/active-active/planning.md +++ b/content/operate/rs/databases/active-active/planning.md @@ -22,7 +22,7 @@ See [Active-Active Redis]({{< relref "/operate/rs/databases/active-active/" >}}) You need at least [two participating clusters]({{< relref "/operate/rs/clusters/new-cluster-setup" >}}) for an Active-Active database. If your database requires more than ten participating clusters, contact Redis support. You can [add or remove participating clusters]({{< relref "/operate/rs/databases/active-active/manage#participating-clusters/" >}}) after database creation. {{}} -If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. +If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. {{}} Changes made from the Cluster Manager UI to an Active-Active database configuration only apply to the cluster you are editing. For global configuration changes across all clusters, use the `crdb-cli` command-line utility. @@ -72,9 +72,9 @@ See [Synchronizing cluster node clocks]({{< relref "/operate/rs/clusters/configu ## Redis modules {#redis-modules} Several Redis modules are compatible with Active-Active databases. Find the list of [compatible Redis modules]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}). -{{< note >}} -Starting with v6.2.18, you can index, query, and perform full-text searches of nested JSON documents in Active-Active databases by combining RedisJSON and RediSearch. -{{< /note >}} + +Active-Active databases created with or upgraded to Redis version 8 or later automatically enable [search and query]({{}}) and [JSON]({{}}), which allows you to index, query, and perform full-text searches of nested JSON documents. + ## Limitations @@ -86,4 +86,4 @@ Active-Active databases have the following limitations: - The `UNLINK` command is a blocking command for all types of keys. - Cross slot multi commands (such as `MSET`) are not supported with Active-Active databases. - The hashing policy can't be changed after database creation. -- If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. +- If an Active-Active database [runs on flash memory]({{}}), you cannot add participating clusters that run on RAM only. diff --git a/content/operate/rs/databases/configure/_index.md b/content/operate/rs/databases/configure/_index.md index 8d8683fd86..7f63120a74 100644 --- a/content/operate/rs/databases/configure/_index.md +++ b/content/operate/rs/databases/configure/_index.md @@ -83,6 +83,10 @@ after the database is created. When you create a new in-memory database, you can enable multiple Redis Stack [**Capabilities**]({{}}). +Databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows: + +{{}} + For Auto Tiering databases, you can enable capabilities that support Auto Tiering. See [Redis Enterprise and Redis Stack feature compatibility ]({{< relref "/operate/oss_and_stack/stack-with-enterprise/enterprise-capabilities" >}}) for compatibility details. diff --git a/content/operate/rs/databases/configure/database-persistence.md b/content/operate/rs/databases/configure/database-persistence.md index 7bf2810ff7..b88cffcc2d 100644 --- a/content/operate/rs/databases/configure/database-persistence.md +++ b/content/operate/rs/databases/configure/database-persistence.md @@ -11,7 +11,7 @@ linktitle: Persistence weight: 30 --- -Data is stored in RAM or a combination of RAM and flash memory ([Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}})), which risks data loss during process or server failures. Redis Enterprise Software supports multiple methods to persist data to disk on a per-database basis to ensure data durability. +Data is stored in RAM or a combination of RAM and flash memory ([Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}})), which risks data loss during process or server failures. Redis Enterprise Software supports multiple methods to persist data to disk on a per-database basis to ensure data durability. You can configure [persistence](https://redis.com/redis-enterprise/technology/durable-redis/) during database creation or by editing an existing database. Although the persistence model can be changed dynamically, the switch can take time depending on the database size and the models being switched. diff --git a/content/operate/rs/databases/configure/oss-cluster-api.md b/content/operate/rs/databases/configure/oss-cluster-api.md index d3ab29a985..49d36b51ed 100644 --- a/content/operate/rs/databases/configure/oss-cluster-api.md +++ b/content/operate/rs/databases/configure/oss-cluster-api.md @@ -24,7 +24,7 @@ The database must: In addition, the database must _not_: - Use node `include` or `exclude` in the proxy policy. -- Use [RediSearch]({{< relref "/operate/oss_and_stack/stack-with-enterprise/search" >}}), [RedisTimeSeries]({{< relref "/operate/oss_and_stack/stack-with-enterprise/timeseries" >}}), or [RedisGears]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1" >}}) modules. +- Use [RedisTimeSeries]({{< relref "/operate/oss_and_stack/stack-with-enterprise/timeseries" >}}) or [RedisGears]({{< relref "/operate/oss_and_stack/stack-with-enterprise/gears-v1" >}}) modules. The OSS Cluster API setting applies to individual databases instead of the entire cluster. diff --git a/content/operate/rs/databases/create.md b/content/operate/rs/databases/create.md index ac2e84a3e4..35203f5bd9 100644 --- a/content/operate/rs/databases/create.md +++ b/content/operate/rs/databases/create.md @@ -55,6 +55,10 @@ To quickly create a database and skip additional configuration options during in - Capabilities (previously modules) to enable + Databases created with Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows: + + {{}} + 1. Optionally select **Full options** to configure [additional settings]({{< relref "/operate/rs/databases/configure#config-settings" >}}). 1. Select **Create**. diff --git a/content/operate/rs/databases/auto-tiering/_index.md b/content/operate/rs/databases/flash/_index.md similarity index 54% rename from content/operate/rs/databases/auto-tiering/_index.md rename to content/operate/rs/databases/flash/_index.md index 1f50abba7e..b5c1222f87 100644 --- a/content/operate/rs/databases/auto-tiering/_index.md +++ b/content/operate/rs/databases/flash/_index.md @@ -1,52 +1,67 @@ --- -Title: Auto Tiering +Title: Redis Flex and Auto Tiering alwaysopen: false categories: - docs - operate - rs - rc -description: Auto Tiering enables your data to span both RAM and dedicated flash memory. +description: Redis Flex and Auto Tiering enable your data to span both RAM and dedicated flash memory. hideListLinks: true -linktitle: Auto Tiering +linktitle: Redis Flex and Auto Tiering weight: 50 +aliases: /operate/rs/databases/auto-tiering/ --- -Redis Enterprise's auto tiering offers users the unique ability to use solid state drives (SSDs) to extend databases beyond DRAM capacity. +Redis Flex and Auto Tiering in Redis Enterprise Software enable databases to use solid state drives (SSDs) to extend beyond DRAM capacity. Developers can build applications that require large datasets using the same Redis API. Using SSDs can significantly reduce the infrastructure costs compared to only DRAM deployments. Frequently used data, called hot data, belongs in the fastest memory level to deliver a real-time user experience. Data that is accessed less frequently, called warm data, can be kept in a slightly slower memory tier. -Redis Enterprise’s Auto tiering maintains hot data in DRAM, keeps warm data in SSDs, and transfers data between tiers automatically. +Redis Flex maintains hot data in DRAM, keeps warm data in SSDs, and transfers data between tiers automatically. -Redis Enterprise’s auto tiering is based on a high-performance storage engine (Speedb) that manages the complexity of using SSDs and DRAM as the total available memory for databases in a Redis Enterprise cluster. This implementation offers a performance boost of up to 10k operations per second per core of the database, doubling the performance of Redis on Flash. +Redis Flex is based on a high-performance storage engine (Speedb) that manages the complexity of using SSDs and DRAM as the total available memory for databases in a Redis Enterprise cluster. This implementation offers a performance boost of up to 10k operations per second per core of the database, doubling the performance of Redis on Flash. -Just like all-RAM databases, databases with Auto Tiering enabled are compatible with existing Redis applications. +Just like all-RAM databases, Redis Flex databases are compatible with existing Redis applications. -Auto Tiering is also supported on [Redis Cloud]({{< relref "/operate/rc/" >}}) and [Redis Enterprise Software for Kubernetes]({{< relref "/operate/rs/" >}}). +Redis Flex is also supported on [Redis Cloud]({{< relref "/operate/rc/" >}}) and [Redis Enterprise Software for Kubernetes]({{< relref "/operate/rs/" >}}). + +## Redis Flex versus Auto Tiering + +Redis Flex is the enhanced successor to Auto Tiering, generally available as of Redis Enterprise Software version 8.0.2. + +Redis database versions support Redis Flex and Auto Tiering as follows: + +| Redis database version | Redis Flex | Auto Tiering | +|------------------------|------------|--------------| +| 8.0 and later | | | +| 7.4 | | | +| 7.2 and earlier | | | + +Redis Flex requires the Speedb driver, while Auto Tiering can use either RocksDB or Speedb. See [Manage Auto Tiering storage engine]({{}}) for more information. ## Use cases -The benefits associated with Auto Tiering are dependent on the use case. +The benefits associated with Redis Flex are dependent on the use case. -Auto Tiering is ideal when your: +Redis Flex is ideal when your: - working set is significantly smaller than your dataset (high RAM hit rate) - average key size is smaller than average value size (all key names are stored in RAM) - most recent data is the most frequently used (high RAM hit rate) -Auto Tiering is not recommended for: +Redis Flex is not recommended for: - Long key names (all key names are stored in RAM) - Broad access patterns (any value could be pulled into RAM) - Large working sets (working set is stored in RAM) - Frequently moved data (moving to and from RAM too often can impact performance) -Auto Tiering is not intended to be used for persistent storage. Redis Enterprise Software database persistent and ephemeral storage should be on different disks, either local or attached. +Redis Flex is not intended to be used for persistent storage. Redis Enterprise Software database persistent and ephemeral storage should be on different disks, either local or attached. ## Where is my data? -When using Auto Tiering, RAM storage holds: +When using Redis Flex, RAM storage holds: - All keys (names) - Key indexes - Dictionaries @@ -56,7 +71,7 @@ All data is accessed through RAM. If a value in flash memory is accessed, it bec Inactive or infrequently accessed data is referred to as "warm data" and stored in flash memory. When more space is needed in RAM, warm data is moved from RAM to flash storage. -{{}} When using Auto Tiering with RediSearch, it’s important to note that RediSearch indexes are also stored in RAM.{{}} +{{}} When using Redis Flex with RediSearch, it’s important to note that RediSearch indexes are also stored in RAM.{{}} ## RAM to Flash ratio @@ -67,19 +82,19 @@ The RAM limit cannot be smaller than 10% of the total memory. We recommend you k ## Flash memory -Implementing Auto Tiering requires pre planning around memory and sizing. Considerations and requirements for Auto Tiering include: +Implementing Redis Flex requires pre planning around memory and sizing. Considerations and requirements for Redis Flex include: - Flash memory must be locally attached. Using network-attached storage (NAS), storage area networks (SAN), or solutions such as AWS Elastic Block Storage (EBS) is not supported. -- Flash memory must be dedicated to Auto Tiering and not shared with other parts of the database, such as durability, binaries, or persistence. +- Flash memory must be dedicated to Redis Flex and not shared with other parts of the database, such as durability, binaries, or persistence. - For the best performance, the SSDs should be NVMe based, but SATA can also be used. - The available flash space must be greater than or equal to the total database size (RAM+Flash). The extra space accounts for write buffers and [write amplification](https://en.wikipedia.org/wiki/Write_amplification). {{}} The Redis Enterprise Software database persistent and ephemeral storage should be on different disks, either local or attached. {{}} -Once these requirements are met, you can create and manage both databases with Auto Tiering enabled and +After these requirements are met, you can create and manage both Redis Flex databases and all-RAM databases in the same cluster. -When you begin planning the deployment of an Auto Tiering enabled database in production, +When you begin planning the deployment of a Redis Flex database in production, we recommend working closely with the Redis technical team for sizing and performance tuning. ### Cloud environments @@ -94,7 +109,7 @@ We specifically recommend "[Storage Optimized I4i - High I/O Instances](https:// ### On-premises environments -When you begin planning the deployment of Auto Tiering in production, we recommend working closely with the Redis technical team for sizing and performance tuning. +When you begin planning the deployment of Redis Flex in production, we recommend working closely with the Redis technical team for sizing and performance tuning. On-premises environments support more deployment options than other environments such as: @@ -105,13 +120,13 @@ On-premises environments support more deployment options than other environments - [Probabilistic data structures]({{< relref "/operate/oss_and_stack/stack-with-enterprise/bloom" >}}) -{{}} Enabling Auto Tiering for [Active-Active distributed databases]({{}}) requires validating and getting the Redis technical team's approval first . {{}} +{{}}You should get the Redis technical team's approval before you enable Redis Flex for [Active-Active distributed databases]({{}}). {{}} -{{}} Auto Tiering is not supported running on network attached storage (NAS), storage area network (SAN), or with local HDD drives. {{}} +{{}} Redis Flex is not supported running on network attached storage (NAS), storage area network (SAN), or with local HDD drives. {{}} ## Size limits for keys and values -Auto Tiering databases cannot store keys or values larger than 4GB in flash storage. +Redis Flex databases cannot store keys or values larger than 4GB in flash storage. Keys or values larger than 4GB will be stored in RAM only, and warnings will appear in the Redis logs similar to: @@ -121,8 +136,8 @@ Keys or values larger than 4GB will be stored in RAM only, and warnings will app ## Next steps -- [Auto Tiering metrics]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) -- [Auto Tiering quick start]({{< relref "/operate/rs/databases/auto-tiering/quickstart.md" >}}) +- [Redis Flex metrics]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) +- [Redis Flex quick start]({{< relref "/operate/rs/databases/flash/quickstart" >}}) - [Ephemeral and persistent storage]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/persistent-ephemeral-storage" >}}) - [Hardware requirements]({{< relref "/operate/rs/installing-upgrading/install/plan-deployment/hardware-requirements.md" >}}) diff --git a/content/operate/rs/databases/auto-tiering/quickstart.md b/content/operate/rs/databases/flash/quickstart.md similarity index 77% rename from content/operate/rs/databases/auto-tiering/quickstart.md rename to content/operate/rs/databases/flash/quickstart.md index 48a02b4f63..e6c40b4b23 100644 --- a/content/operate/rs/databases/auto-tiering/quickstart.md +++ b/content/operate/rs/databases/flash/quickstart.md @@ -1,26 +1,27 @@ --- -Title: Auto Tiering quick start +Title: Redis Flex and Auto Tiering quick start alwaysopen: false categories: - docs - operate - rs -description: Get started with Auto Tiering quickly, creating a cluster and database +description: Get started with Redis Flex and Auto Tiering quickly, creating a cluster and database using flash storage. linkTitle: Quick start weight: 80 +aliases: /operate/rs/databases/auto-tiering/quickstart/ --- -This page guides you through a quick setup of [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) with a single node for testing and demo purposes. +This page guides you through a quick setup of [Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash" >}}) with a single node for testing and demo purposes. For production environments, you can find more detailed installation instructions in the [install and setup]({{< relref "/operate/rs/installing-upgrading" >}}) section. -The steps to set up a Redis Enterprise Software cluster using Auto Tiering +The steps to set up a Redis Enterprise Software cluster using Redis Flex with a single node are: 1. Install Redis Enterprise Software or run it in a Docker container. -1. Set up a Redis Enterprise Software cluster with Auto Tiering. -1. Create a new database with Auto Tiering enabled. +1. Set up a Redis Enterprise Software cluster with Redis Flex. +1. Create a new database with Redis Flex enabled. 1. Connect to your new database. ## Install Redis Enterprise Software @@ -70,7 +71,7 @@ To verify the disk configuration, run: sudo lsblk ``` -## Set up a cluster and enable Auto Tiering +## Set up a cluster and enable Redis Flex 1. Direct your browser to `https://localhost:8443` on the host machine to see the Redis Enterprise Software Cluster Manager UI. @@ -111,7 +112,7 @@ On the **Databases** screen: 1. Select **Create**. -You now have a database with Auto Tiering enabled! +You now have a database with Redis Flex enabled! ## Connect to your database @@ -119,4 +120,4 @@ After you create the database, you can connect to it and store data. See [Test c ## Next steps -To see the true performance and scale of Auto Tiering, you must tune your I/O path and set the flash path to the mounted path of SSD or NVMe flash memory as that is what it is designed to run on. For more information, see [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}). +To see the true performance and scale of Redis Flex, you must tune your I/O path and set the flash path to the mounted path of SSD or NVMe flash memory as that is what it is designed to run on. For more information, see [Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}). diff --git a/content/operate/rs/databases/auto-tiering/storage-engine.md b/content/operate/rs/databases/flash/storage-engine.md similarity index 94% rename from content/operate/rs/databases/auto-tiering/storage-engine.md rename to content/operate/rs/databases/flash/storage-engine.md index e859418b2e..235b790e69 100644 --- a/content/operate/rs/databases/auto-tiering/storage-engine.md +++ b/content/operate/rs/databases/flash/storage-engine.md @@ -8,16 +8,19 @@ categories: description: Manage the storage engine used for your database with auto tiering enabled. linkTitle: Manage storage engine weight: 100 +aliases: /operate/rs/databases/auto-tiering/storage-engine/ --- ## Manage the storage engine -Redis Enterprise Auto Tiering supports two storage engines: +Auto Tiering supports two storage engines: - Speedb: Redis proprietary storage engine. The default and recommended storage engine as of Redis Enterprise Software version 7.2.4. - [RocksDB](https://rocksdb.org/): Used up to Redis version 6.2. Deprecated for later Redis versions. +Redis Flex supports Speedb only. + {{}}Switching between storage engines requires guidance by Redis Support or your Account Manager.{{}} ### Change the storage engine diff --git a/content/operate/rs/databases/memory-performance/_index.md b/content/operate/rs/databases/memory-performance/_index.md index c819fc8ed5..5fe7ce9e36 100644 --- a/content/operate/rs/databases/memory-performance/_index.md +++ b/content/operate/rs/databases/memory-performance/_index.md @@ -44,9 +44,9 @@ For more info on data persistence see [Database persistence with Redis Enterpris ## Auto Tiering -By default, Redis Enterprise Software stores your data entirely in [RAM](https://en.wikipedia.org/wiki/Random-access_memory) for improved performance. The [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) feature enables your data to span both RAM and [SSD](https://en.wikipedia.org/wiki/Solid-state_drive) storage ([flash memory](https://en.wikipedia.org/wiki/Flash_memory)). Keys are always stored in RAM, but Auto Tiering manages the location of their values. Frequently used (hot) values are stored on RAM, but infrequently used (warm) values are moved to flash memory. This saves on expensive RAM space, which give you comparable performance at a lower cost for large datasets. +By default, Redis Enterprise Software stores your data entirely in [RAM](https://en.wikipedia.org/wiki/Random-access_memory) for improved performance. [Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) enable your data to span both RAM and [SSD](https://en.wikipedia.org/wiki/Solid-state_drive) storage ([flash memory](https://en.wikipedia.org/wiki/Flash_memory)). Keys are always stored in RAM, but Auto Tiering manages the location of their values. Frequently used (hot) values are stored on RAM, but infrequently used (warm) values are moved to flash memory. This saves on expensive RAM space, which give you comparable performance at a lower cost for large datasets. -For more info, see [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}). +For more info, see [Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}). ## Shard placement diff --git a/content/operate/rs/databases/memory-performance/eviction-policy.md b/content/operate/rs/databases/memory-performance/eviction-policy.md index 5544422be8..111c709bff 100644 --- a/content/operate/rs/databases/memory-performance/eviction-policy.md +++ b/content/operate/rs/databases/memory-performance/eviction-policy.md @@ -52,7 +52,7 @@ Data eviction policies are not supported for Active-Active databases with Auto T To avoid data eviction, make sure your database is large enough to hold required values. -For larger databases, consider using [Auto Tiering ]({{< relref "/operate/rs/databases/auto-tiering/" >}}). +For larger databases, consider using [Redis Flex or Auto Tiering ]({{< relref "/operate/rs/databases/flash/" >}}). Auto Tiering stores actively-used data (also known as _hot data_) in RAM and the remaining data in flash memory (SSD). This lets you retain more data while ensuring the fastest access to the most critical data. diff --git a/content/operate/rs/databases/memory-performance/memory-limit.md b/content/operate/rs/databases/memory-performance/memory-limit.md index 430d487b2b..7e2e00daa4 100644 --- a/content/operate/rs/databases/memory-performance/memory-limit.md +++ b/content/operate/rs/databases/memory-performance/memory-limit.md @@ -51,8 +51,8 @@ Redis Enterprise Software protects the existing data and prevents the database You can configure the cluster to move the data to another node, or even discard it according to the [eviction policy]({{< relref "/operate/rs/databases/memory-performance/eviction-policy.md" >}}) set on each database by the administrator. -[Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) -manages memory so that you can also use flash memory (SSD) to store data. +[Redis Flex and Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) +manage memory so that you can also use flash memory (SSD) to store data. ### Order of events for low RAM diff --git a/content/operate/rs/databases/recover.md b/content/operate/rs/databases/recover.md index 83e223fb87..9537fbac5b 100644 --- a/content/operate/rs/databases/recover.md +++ b/content/operate/rs/databases/recover.md @@ -23,7 +23,6 @@ The database recovery process includes: 1. If the cluster failed, [recover the cluster]({{< relref "/operate/rs/clusters/cluster-recovery.md" >}}). 1. Identify recoverable databases. -1. Verify the module versions used by any databases are installed on the cluster. 1. Restore the database data. 1. Verify that the databases are active. @@ -71,76 +70,6 @@ of the configuration and persistence files on each of the nodes. If you cannot resolve the issues, contact [Redis support](https://redis.com/company/support/). -1. Verify the module versions used by any recoverable databases are installed on the cluster: - - 1. Check which module versions are currently installed on the cluster using one of the following methods: - - {{< multitabs id="get-module-versions" - tab1="Cluster Manager UI" - tab2="rladmin" - tab3="REST API" >}} - -In the Cluster Manager UI, go to **Cluster > Modules**. - --tab-sep- - -Run [`rladmin status modules`]({{< relref "/operate/rs/references/cli-utilities/rladmin/status#status-modules" >}}): - -```sh -rladmin status modules -``` - --tab-sep- - -Send a [`GET /v1/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#list-modules" >}}) request: - -```sh -GET https://:/v1/modules -``` - - {{< /multitabs >}} - - 1. Identify the module versions required by the recoverable databases. To do so, run [`rladmin status modules`]({{< relref "/operate/rs/references/cli-utilities/rladmin/status#status-modules" >}}) and check the `DATABASE MODULES` section for the module versions listed for the recoverable databases: - - ```sh - rladmin status modules extra all - ``` - - 1. Download any missing modules versions from the [Redis download center](https://redis.io/downloads/#tools). - - 1. [Install the downloaded modules on the cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) using one of the following methods: - - {{< multitabs id="install-modules" - tab1="Cluster Manager UI" - tab2="REST API" >}} - -To add a module to the cluster using the Cluster Manager UI: - -1. Go to **Cluster > Modules**. - -1. Select **Upload module**. - -1. Use the file browser to add the packaged module. - --tab-sep- - -To add a module to the cluster using the REST API: - -1. Copy the module package to a node in the cluster. - -1. Add the module to the cluster with a [`POST` request to the `/v2/modules`]({{< relref "/operate/rs/references/rest-api/requests/modules#post-module-v2" >}}) endpoint: - - ```sh - POST https://[host][:port]/v2/modules - "module=@/tmp/redisearch.Linux-ubuntu16.04-x86_64.2.2.6.zip" - ``` - - Here, the *module* parameter specifies the full path of the module package and must be submitted as form-data. In addition, the package must be available and accessible to the server processing the request. - -1. If the module installation succeeds, the `POST` request returns a [JSON object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}) that represents the new module. If it fails, it may return a JSON object with an `error_code` and `description` with more details. - - {{< /multitabs >}} - 1. Recover the database using one of the following [`rladmin recover`]({{< relref "/operate/rs/references/cli-utilities/rladmin/recover" >}}) commands: - Recover all databases from the persistence files located in the persistent storage drives: diff --git a/content/operate/rs/installing-upgrading/install/install-on-linux.md b/content/operate/rs/installing-upgrading/install/install-on-linux.md index 1db706913d..732f71cb58 100644 --- a/content/operate/rs/installing-upgrading/install/install-on-linux.md +++ b/content/operate/rs/installing-upgrading/install/install-on-linux.md @@ -96,9 +96,9 @@ To skip the installation questions, use one of the following methods: 1. Repeat this process for each node in the cluster. -## Auto Tiering installation +## Redis Flex and Auto Tiering installation -If you want to use Auto Tiering for your databases, review the prerequisites, storage requirements, and [other considerations]({{< relref "/operate/rs/databases/auto-tiering/" >}}) for Auto Tiering databases and prepare and format the flash memory. +If you want to use Redis Flex or Auto Tiering for your databases, review the prerequisites, storage requirements, and [other considerations]({{< relref "/operate/rs/databases/flash/" >}}) and prepare and format the flash memory. After you install Redis Enterprise Software, use the `prepare_flash` script to prepare and format flash memory: diff --git a/content/operate/rs/installing-upgrading/install/install-script.md b/content/operate/rs/installing-upgrading/install/install-script.md index 35472cbd0b..d8d2df588e 100644 --- a/content/operate/rs/installing-upgrading/install/install-script.md +++ b/content/operate/rs/installing-upgrading/install/install-script.md @@ -25,4 +25,4 @@ The following options are supported: | `--os-user `| Operating system user account associated with install; default: `redislabs`
See [Customize user and group]({{< relref "/operate/rs/installing-upgrading/install/customize-user-and-group" >}}) *(new installs only)*| |
`--os-group ` | Operating system group associated with install; default: `redislabs`
See [Customize user and group]({{< relref "/operate/rs/installing-upgrading/install/customize-user-and-group" >}}) *(new installs only)* | | `--skip-dns-port-verification` | Skip DNS port verification during installation | -|
`--skip-updating-env-path` | Skip adding paths related to Redis Enterprise Software to root's PATH environment variable
See [Manage install questions]({{< relref "/operate/rs/installing-upgrading/install/manage-installation-questions" >}}) | +| `--update-env-path` | Add paths related to Redis Enterprise Software to root's PATH environment variable
See [Manage install questions]({{< relref "/operate/rs/installing-upgrading/install/manage-installation-questions" >}}) | diff --git a/content/operate/rs/installing-upgrading/install/manage-installation-questions.md b/content/operate/rs/installing-upgrading/install/manage-installation-questions.md index aaaa670145..a649f56d00 100644 --- a/content/operate/rs/installing-upgrading/install/manage-installation-questions.md +++ b/content/operate/rs/installing-upgrading/install/manage-installation-questions.md @@ -89,7 +89,7 @@ Use an answer file to manage your response: | `ignore_swap` | `yes`
`no` | Continue even if swap is enabled. If `no`, stops installation if swap is enabled. | | `ntp` | `yes`
`no` | Configure NTP for time synchronization. | | `rlcheck` | `yes`
`no` | Run `rlcheck` after installation to validate the system. | - | `skip_updating_env_path` | `yes`
`no` | Skip adding Redis Enterprise Software paths to the PATH environment variable. | + | `update_env_path` | `yes`
`no` | Add Redis Enterprise Software paths to the PATH environment variable. | | `systune` | `yes`
`no` | Automatically tune system performance (CPU, sysctl). If `yes`, answers `yes` to all system tuning questions. | Example answer file: @@ -101,7 +101,7 @@ Use an answer file to manage your response: firewall=no rlcheck=yes ignore_existing_osuser_osgroup=no - skip_updating_env_path=yes + update_env_path=no ignore_master_version=no ``` diff --git a/content/operate/rs/installing-upgrading/install/plan-deployment/configuring-aws-instances.md b/content/operate/rs/installing-upgrading/install/plan-deployment/configuring-aws-instances.md index 11dd3586c9..d35c9f571d 100644 --- a/content/operate/rs/installing-upgrading/install/plan-deployment/configuring-aws-instances.md +++ b/content/operate/rs/installing-upgrading/install/plan-deployment/configuring-aws-instances.md @@ -43,7 +43,7 @@ Provisioned IOPS for EBS-backed volumes. Provisioned IOPS guarantee a certain level of disk performance. There are two features in Redis Enterprise Software where this feature could be critical to use: -1. When using [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) +1. When using [Redis Flex or Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) 1. When using AOF on every write and there is a high write load. In this case, the provisioned IOPS should be on the nodes used as replicas in the cluster. diff --git a/content/operate/rs/installing-upgrading/product-lifecycle.md b/content/operate/rs/installing-upgrading/product-lifecycle.md index b401ba5bf8..ae88cf6cf3 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.22 – May 2025 | - | +| 8.0 – October 2025 | - | +| 7.22 – May 2025 | October 30, 2027 | | 7.8 – November 2024 | May 30, 2027 | | 7.4 – February 2024 | November 30, 2026 | | 7.2 – August 2023 | February 28, 2026 | diff --git a/content/operate/rs/installing-upgrading/quickstarts/_index.md b/content/operate/rs/installing-upgrading/quickstarts/_index.md index 71f3814c32..f1643a4a42 100644 --- a/content/operate/rs/installing-upgrading/quickstarts/_index.md +++ b/content/operate/rs/installing-upgrading/quickstarts/_index.md @@ -19,7 +19,7 @@ Try out Redis Enterprise Software using one of the following quickstarts: Additional quickstart guides are available to help you: -- Set up a [Auto Tiering cluster]({{< relref "/operate/rs/databases/auto-tiering/quickstart.md" >}}) to optimize memory resources. +- Set up a [Redis Flex or Auto Tiering cluster]({{< relref "/operate/rs/databases/flash/quickstart" >}}) to optimize memory resources. - Set up an [Active-Active cluster]({{< relref "/operate/rs/databases/active-active/get-started.md" >}}) to enable high availability. diff --git a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md index 8ffe7c742e..f35c67034f 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md @@ -107,36 +107,15 @@ without upgrading the CRDB protocol version. 700140c5-478e-49d7-ad3c-64d517ddc486 aatest 2 aatest2.example.com ``` -1. Update module information in the CRDB configuration using the following command syntax: +1. Update module information in the CRDB configuration using the following command: ```sh - crdb-cli crdb update --crdb-guid --default-db-config \ - '{ "module_list": - [ - { - "module_name": "", - "semantic_version": "" - }, - { - "module_name": "", - "semantic_version": "" - } - ]}' + crdb-cli crdb update --crdb-guid --update-db-config-modules true ``` - For example: + `crdb-cli` will ask you to verify all Active-Active database instances and their modules have been updated before you enter `y` to continue. - ```sh - crdb-cli crdb update --crdb-guid 82a80988-f5fe-4fa5-bca0-aef2a0fd60db --default-db-config \ - '{ "module_list": - [ - { - "module_name": "search", - "semantic_version": "2.4.6" - }, - { - "module_name": "ReJSON", - "semantic_version": "2.4.5" - } - ]}' + ``` + Verify that all CRDB database instances and their modules have been updated. + Do you want to continue? (y/n): y ``` diff --git a/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md b/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md index 6a064b042e..82a1b4cb9d 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-database.md @@ -14,9 +14,6 @@ weight: 50 When you upgrade an existing database, it uses the latest bundled Redis version unless you specify a different version with the `redis_version` option in the [REST API]({{< relref "/operate/rs/references/rest-api/requests/bdbs" >}}) or [`rladmin upgrade db`]({{< relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db" >}}). -Redis Enterprise Software v6.x includes two Redis database versions: 6.0 and 6.2. -As of version 7.2, Redis Enterprise Software includes three Redis database versions. - To view available Redis database versions: - In the Cluster Manager UI, see **Redis database versions** on the **Cluster > Configuration** screen. @@ -28,6 +25,7 @@ The default Redis database version differs between Redis Enterprise releases as | Redis
Software | Bundled Redis
DB versions | Default DB version
(upgraded/new databases) | |-------|----------|-----| +| 8.0.x | 6.2, 7.2, 7.4, 8.2 | 8.2 | | 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 | @@ -35,9 +33,6 @@ The default Redis database version differs between Redis Enterprise releases as | 6.4.2 | 6.0, 6.2 | 6.2 | | 6.2.x | 6.0, 6.2 | 6.0 | - -The upgrade policy is only relevant for Redis Enterprise Software versions 6.2.4 through 6.2.18. For more information about upgrade policies, see the [6.2 version of this document](https://docs.redis.com/6.2/rs/installing-upgrading/upgrading/#redis-upgrade-policy). - ## Upgrade prerequisites Before upgrading a database: diff --git a/content/operate/rs/installing-upgrading/upgrading/upgrade-os.md b/content/operate/rs/installing-upgrading/upgrading/upgrade-os.md index 8813c20b99..16965fc7cd 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-os.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-os.md @@ -22,43 +22,6 @@ Before you upgrade a cluster's operating system: To learn which versions of Redis Enterprise Software support specific OS versions, see [Supported platforms]({{< relref "/operate/rs/references/supported-platforms#supported-platforms" >}}). -1. If the cluster contains any databases that use modules: - - 1. Update all nodes in the cluster to [Redis Enterprise Software version 7.2.4-52]({{< relref "/operate/rs/release-notes/rs-7-2-4-releases" >}}) or later before you upgrade the OS. - - 1. Check the status of modules using [`rladmin`]({{< relref "/operate/rs/references/cli-utilities/rladmin" >}}): - - ```sh - rladmin status modules - ``` - - The output lists the module versions installed on the cluster and the module versions used by existing databases: - - ```sh - CLUSTER MODULES: - MODULE VERSION - RedisBloom 2.6.3 - RediSearch 2 2.8.4 - RedisGears 2.0.12 - RedisGraph 2.10.12 - RedisJSON 2.6.6 - RedisTimeSeries 1.10.6 - - DATABASE MODULES: - DB:ID NAME MODULE VERSION ARGS STATUS - db:1 db1 RediSearch 2 2.6.9 PARTITIONS AUTO OK, OLD MODULE VERSION - db:1 db1 RedisJSON 2.4.7 OK, OLD MODULE VERSION - ``` - - 1. Upload module packages for the target OS version to a node in the existing cluster. See [Install a module on a cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster" >}}) for instructions. - - {{}} -The uploaded module packages have the following requirements: - -- The module is compiled for the target OS version. - -- The module version matches the version currently used by databases. - {{}} 1. If the cluster uses custom directories, make sure the OS upgrade version also supports custom directories, and specify the same custom directories during installation for all nodes. See [Customize installation directories]({{< relref "/operate/rs/installing-upgrading/install/customize-install-directories" >}}) for details. diff --git a/content/operate/rs/monitoring/_index.md b/content/operate/rs/monitoring/_index.md index 8308cc327b..6520942a0b 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 8.0]({{}}) 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/db-availability.md b/content/operate/rs/monitoring/db-availability.md index db3faea66e..7d98bca9cb 100644 --- a/content/operate/rs/monitoring/db-availability.md +++ b/content/operate/rs/monitoring/db-availability.md @@ -45,6 +45,50 @@ Returns HTTP status code 200 OK if all primary (master) shards are reachable fro If the local database endpoint is unavailable, returns an error status code and a JSON object that contains [`error_code` and `description` fields]({{}}). +## Use lag-aware availability checks for disaster recovery {#lag-aware} + +The database availability API supports lag-aware availability checks that consider replication lag tolerance. You can reduce the risk of data inconsistencies during disaster recovery by incorporating lag-aware availability checks into your disaster recovery solution and ensuring failover-failback flows only occur when databases are accessible and sufficiently synchronized. + +### Change default availability lag tolerance threshold + +The lag tolerance threshold is 100 milliseconds by default. Depending on factors such as workload, network conditions, and throughput, you might want to adjust the lag tolerance threshold. + +To change the default threshold for the entire cluster, set `availability_lag_tolerance_ms` with an [update cluster]({{}}) request: + +```sh +PUT /v1/cluster +{ "availability_lag_tolerance_ms": 100 } +``` + +### Lag-aware database availability checks + +To perform a lag-aware database availability check using the cluster's default lag tolerance threshold: + +```sh +GET /v1/bdbs//availability?extend_check=lag +``` + +To perform a lag-aware database availability check and override the cluster's default lag tolerance threshold: + +```sh +GET /v1/bdbs//availability?extend_check=lag&availability_lag_tolerance_ms=100 +``` + +### Lag-aware endpoint availability checks + +To perform a lag-aware database endpoint availability check using the cluster's default lag tolerance threshold: + +```sh +GET /v1/local/bdbs//endpoint/availability?extend_check=lag +``` + +To perform a lag-aware database endpoint availability check and override the cluster's default lag tolerance threshold: + +```sh +GET /v1/local/bdbs//endpoint/availability?extend_check=lag&availability_lag_tolerance_ms=100 +``` + + ## Availability by database status The following table shows the relationship between a database's status and availability. For more details about the database status values, see [BDB status field]({{}}). diff --git a/content/operate/rs/monitoring/metrics_stream_engine.md b/content/operate/rs/monitoring/metrics_stream_engine.md index d257dd201a..c3b5ff8dfb 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 8.0]({{}}). The new metrics stream engine: @@ -59,3 +59,59 @@ If you are already using the existing scraping endpoint for integration, do the 1. Use the metrics tables in [this guide]({{}}) to transition from v1 metrics to equivalent v2 PromQL. It is possible to scrape both existing and new endpoints simultaneously, allowing advanced dashboard preparation and a smooth transition. + +## Best practices for monitoring + +Follow these best practices when monitoring your Redis Enterprise Software cluster using the metrics stream engine. + +### Monitor host-level metrics + +For cluster health, resources, and node stability, monitor these metrics: + +| Group | Metric | Why monitor | Unit | +|-------|--------|-------------|------| +| CPU utilization | `node_cpu_user`,
`node_cpu_system` | Detect CPU saturation from Redis or the OS that results in higher latency and queueing. | Seconds (counter) | +| Memory (freeable) | `node_memory_MemTotal_bytes`,
`node_memory_MemFree_bytes`,
`node_memory_Buffers_bytes`,
`node_memory_Cached_bytes` | Detect memory pressure early. Low free memory or cache can precede swapping or out-of-memory errors. | Bytes (gauge) | +| Swap usage | `node_ephemeral_storage_free` | Monitor memory and disk pressure in your setup. Sustained pressure leads to latency spikes. | Bytes (gauge) | +| Network traffic | `node_ingress_bytes`,
`node_egress_bytes` | Ensure the network interface is not saturated. Protects replication and client responsiveness. | Bytes (counter) | +| Disk space | `node_filesystem_avail_bytes`,
`node_filesystem_size_bytes` | Prevent persistence and logging outages from low disk space. | Bytes (gauge) | +| Cluster state | `has_quorum{…}` | Monitor whether quorum is maintained (1) or lost (0). | Boolean | +| | `node_metrics_up` | Monitor whether the node is connected and reporting to the cluster. | Gauge | +| Licensing | `license_shards_limit` | Track shard capacity limits by type (RAM or flash). | Count | +| Certificates | `node_cert_expires_in_seconds` | Avoid downtime from expired node certificates. | Seconds (gauge) | +| Services – CPU | `namedprocess_namegroup_cpu_seconds_total` | Identify abnormal CPU usage by platform services that can starve Redis, such as `alert_mgr`, `redis_mgr`, `dmc_proxy`. | Seconds (counter) | +| Services – memory | `namedprocess_namegroup_memory_bytes` | Detect memory leaks or outliers in platform services, such as `alert_mgr`, `redis_mgr`, `dmc_proxy`. | Bytes (gauge) | + +### Monitor database-level metrics + +For database performance, availability, and efficiency, monitor the following metrics: + +| Group | Metric | Why monitor | Unit | +|-------|--------|-------------|------| +| Memory | `redis_server_used_memory` | Track actual data memory to prevent out-of-memory errors and evictions. | Bytes | +| Memory | `allocator_allocate` | Monitor bytes allocated by allocator (includes internal fragmentation). | Bytes | +| Memory | `allocator_active` | Monitor bytes in active pages (includes external fragmentation). Use delta/ratio versus allocated to infer defraggable memory. | Bytes | +| Memory | `active_defrag_running` | Monitor if defragmentation is active and the intended CPU %. High values can affect performance. | % (gauge) | +| Latency | `endpoint_read_requests_latency_histogram`,
`endpoint_write_requests_latency_histogram`,
`endpoint_other_requests_latency_histogram` | Monitor server-side command latency. | Microseconds | +| High availability | `redis_server_master_repl_offset` | Compute replica throughput and lag using deltas over time. | Bytes (counter) | +| High availability | `redis_server_master_link_status` | Monitor replica link status (up or down) for early warning of high availability risk. | Status | +| Active-Active | `database_syncer_dst_lag`,
`database_syncer_lag_ms` | Detect cross-region synchronization delays that impact consistency and SLAs. | Milliseconds (gauge) | +| Active-Active | `database_syncer_state` | Monitor operational state for troubleshooting synchronization issues. | Gauge | +| Traffic – requests | `endpoint_read_requests`,
`endpoint_write_requests`,
`endpoint_other_requests` | Monitor workload mix and spikes that drive capacity and latency. Total equals the sum of all three. | Counter | +| Traffic – responses | `endpoint_read_responses`,
`endpoint_write_responses`,
`endpoint_other_responses` | Validate service responsiveness and symmetry with requests. | Counter | +| Traffic – bytes | `endpoint_ingress`,
`endpoint_egress` | Monitor size trends and watch for sudden growth that impacts egress costs or bandwidth. | Bytes (counter) | +| Egress queue | `endpoint_egress_pending`,
`endpoint_egress_pending_discarded` | Monitor back-pressure and drops that indicate network or client issues. | Bytes (counter) | +| Connections | `endpoint_client_connection` | Monitor accepted connections over time and match against client rollouts or spikes. | Counter | +| Connections | `endpoint_client_connection_expired` | Monitor connections closed due to TTL expiry, which can indicate idle policy or client issues. | Counter | +| Connections | `endpoint_longest_pipeline_histogram` | Monitor long pipelines that can amplify latency bursts and detect misbehaving clients. | Histogram (count) | +| Connections | `endpoint_client_connections`,
`endpoint_client_disconnections`,
`endpoint_proxy_disconnections` | Monitor connection churn and identify who closed the socket (client versus proxy). Current connections ≈ connections − disconnections. | Counter | +| Cache efficiency | `total_keys`,
`total_volatile_keys` | Monitor key inventory and TTL coverage to inform eviction strategy. | Counter | +| Cache efficiency | `total_evicted_keys`,
`total_expired_keys` | Monitor eviction and expiry rates. Frequent evictions indicate memory pressure or poor sizing. | Counter | +| Cache efficiency | `cache_hits`,
`cache_hit_rate` | Monitor hit rate, which drives read latency and cost. Cache hit rate equals cache_hits/(cache_hits+cache_misses). | Count / Ratio (%) | +| Cache efficiency | `endpoint_client_tracking_on_requests`,
`endpoint_client_tracking_off_requests`,
`endpoint_disposed_commands_after_client_caching` | Track client-side caching usage and misuse. | Counter | +| Big / complex keys | `redis_server___` | Monitor oversized keys and cardinality that cause fragmentation, slow replication, and CPU spikes. Track to prevent incidents. Examples:
`strings_sizes_over_512M`,
`zsets_items_over_8M` | Gauge | +| Security – clients | `endpoint_client_expiration_refresh`,
`endpoint_client_establishment_failures` | Monitor unstable clients or problems with authentication or setup. | Counter | +| Security – LDAP | `endpoint_successful_ldap_authentication`,
`endpoint_failed_ldap_authentication`,
`endpoint_disconnected_ldap_client` | Monitor authentication health and detect brute-force attacks or misconfigurations. | Counter | +| Security – cert-based | `endpoint_successful_cba_authentication`,
`endpoint_failed_cba_authentication`,
`endpoint_disconnected_cba_client` | Monitor certificate authentication status and failures. | Counter | +| Security – password | `endpoint_disconnected_user_password_client` | Monitor password-authentication client disconnects and correlate with policy changes. | Counter | +| Security – ACL | `acl_access_denied_auth`,
`acl_access_denied_cmd`,
`acl_access_denied_key`,
`acl_access_denied_channel` | Monitor unauthorized access attempts and incorrectly scoped ACLs. | Counter | diff --git a/content/operate/rs/monitoring/v1_monitoring.md b/content/operate/rs/monitoring/v1_monitoring.md index fcd3cc8ce2..646aa614db 100644 --- a/content/operate/rs/monitoring/v1_monitoring.md +++ b/content/operate/rs/monitoring/v1_monitoring.md @@ -70,6 +70,10 @@ We recommend migrating to the metrics stream engine for enhanced accuracy, scala 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. +### Transition cluster manager alerts + +As part of Redis Enterprise Software's transition to the [new metrics stream engine]({{}}), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan]({{}}) for guidance. + ## Cluster manager metrics You can see the metrics of the cluster in: @@ -90,7 +94,7 @@ We recommend that you show two similar metrics in the top graphs so you can comp See the following topics for metrics definitions: - [Database operations]({{< relref "/operate/rs/references/metrics/database-operations" >}}) for database metrics - [Resource usage]({{< relref "/operate/rs/references/metrics/resource-usage" >}}) for resource and database usage metrics -- [Auto Tiering]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) for additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/auto-tiering" >}}) databases +- [Auto Tiering]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) for additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/flash" >}}) databases ## Cluster alerts @@ -98,7 +102,7 @@ In **Cluster > Alert Settings**, you can enable alerts for node or cluster eve Configured alerts are shown: -- As a notification on the status icon ( {{< image filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" class="inline" >}} ) for the node and cluster +- As a notification on the status icon ( {{< inline-icon filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" >}} ) for the node and cluster - In the **log** - In email notifications, if you configure [email alerts](#send-alerts-by-email) @@ -118,7 +122,7 @@ For each database, you can enable alerts for database events, such as high memor Configured alerts are shown: -- As a notification on the status icon ( {{< image filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" class="inline" >}} ) for the database +- As a notification on the status icon ( {{< inline-icon filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" >}} ) for the database - In the **log** - In emails, if you configure [email alerts](#send-alerts-by-email) diff --git a/content/operate/rs/references/alerts/_index.md b/content/operate/rs/references/alerts/_index.md new file mode 100644 index 0000000000..0e803dc672 --- /dev/null +++ b/content/operate/rs/references/alerts/_index.md @@ -0,0 +1,62 @@ +--- +Title: Alerts +alwaysopen: false +categories: +- docs +- operate +- rs +- rc +description: Documents the alerts that are tracked with Redis Enterprise Software. +hideListLinks: true +linkTitle: Alerts +weight: $weight +--- + +Cluster alerts are triggered based on thresholds applied to these stored metrics. + +## Cluster alerts + +In **Cluster > Alert Settings**, you can enable alerts for node or cluster events, such as high memory usage or throughput. + +Configured alerts are shown: + +- As a notification on the status icon ( {{< inline-icon filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" >}} ) for the node and cluster +- In the **log** +- In email notifications, if you configure [email alerts](#send-alerts-by-email) + +{{< note >}} +If you enable alerts for "Node joined" or "Node removed" actions, +you must also enable "Receive email alerts" so that the notifications are sent. +{{< /note >}} + +To enable alerts for a cluster: + +1. In **Cluster > Alert Settings**, click **Edit**. +1. Select the alerts that you want to show for the cluster and click **Save**. + +## Database alerts + +For each database, you can enable alerts for database events, such as high memory usage or throughput. + +Configured alerts are shown: + +- As a notification on the status icon ( {{< inline-icon filename="/images/rs/icons/icon_warning.png#no-click" alt="Warning" width="18px" >}} ) for the database +- In the **log** +- In emails, if you configure [email alerts](#send-alerts-by-email) + +To enable alerts for a database: + +1. In **Configuration** for the database, click **Edit**. +1. Select the **Alerts** section to open it. +1. Select the alerts that you want to show for the database and click **Save**. + +## Send alerts by email + +To send cluster and database alerts by email: + +1. In **Cluster > Alert Settings**, click **Edit**. +1. Select **Set an email** to configure the [email server settings]({{< relref "/operate/rs/clusters/configure/cluster-settings#configure-email-server-settings" >}}). +1. In **Configuration** for the database, click **Edit**. +1. Select the **Alerts** section to open it. +1. Select **Receive email alerts** and click **Save**. +1. In **Access Control**, select the [database and cluster alerts]({{< relref "/operate/rs/security/access-control/manage-users" >}}) that you want each user to receive. diff --git a/content/operate/rs/references/alerts/alerts-v1-to-v2.md b/content/operate/rs/references/alerts/alerts-v1-to-v2.md new file mode 100644 index 0000000000..adba9f1404 --- /dev/null +++ b/content/operate/rs/references/alerts/alerts-v1-to-v2.md @@ -0,0 +1,23 @@ +--- +Title: Transition cluster manager alerts to Prometheus alerts +alwaysopen: false +categories: +- docs +- operate +- rs +description: Transition from internal cluster manager alerts to external monitoring alerts using Prometheus. +linkTitle: Transition cluster manager alerts to Prometheus +weight: 50 +--- + +As Redis Enterprise Software transitions from the [deprecated monitoring system]({{}}) to the [new metrics stream engine]({{}}), some internal cluster manager alerts were deprecated in favor of external monitoring solutions. + +You can use the following table to transition from the deprecated alerts and set up equivalent alerts in Prometheus with [PromQL (Prometheus Query Language)](https://prometheus.io/docs/prometheus/latest/querying/basics/): + +| Cluster manager alert | Equivalent PromQL | Description | +|-----------------------|-------------------|-------------| +| BdbSizeAlert | `sum by(db, cluster) (redis_server_used_memory) / sum by(db, cluster) (redis_server_maxmemory) > 0.8` | Redis server memory usage exceeds 80% | +| NodeMemoryAlert | `(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes > 0.7` | Node memory usage exceeds 70% | +| NodeFreeFlashAlert | `(node_available_flash_bytes - node_bigstore_free_bytes) / node_available_flash_bytes > 0.7` | Node flash storage usage exceeds 70% | +| NodeEphemeralStorageAlert | `(node_ephemeral_storage_avail_bytes - node_ephemeral_storage_free_bytes) / node_ephemeral_storage_avail_bytes > 0.7` | Node ephemeral storage usage exceeds 70% | +| NodePersistentStorageAlert | `(node_persistent_storage_avail_bytes - node_persistent_storage_free_bytes) / node_persistent_storage_avail_bytes > 0.7` | Node persistent storage usage exceeds 70% | diff --git a/content/operate/rs/references/cli-utilities/crdb-cli/crdb/update.md b/content/operate/rs/references/cli-utilities/crdb-cli/crdb/update.md index 2e6ae9a4d7..a9432bb2c9 100644 --- a/content/operate/rs/references/cli-utilities/crdb-cli/crdb/update.md +++ b/content/operate/rs/references/cli-utilities/crdb-cli/crdb/update.md @@ -28,6 +28,7 @@ crdb-cli crdb update --crdb-guid [--bigstore-ram-size ] [--eviction-policy { noeviction | allkeys-lru | allkeys-lfu | allkeys-random | volatile-lru | volatile-lfu | volatile-random | volatile-ttl }] [--update-module name=,featureset_version=] + [--update-db-config-modules { true | false } ] ``` If you want to change the configuration of the local instance only, use [`rladmin`]({{< relref "/operate/rs/references/cli-utilities/rladmin" >}}) instead. @@ -51,6 +52,7 @@ If you want to change the configuration of the local instance only, use [`rladmi | eviction-policy | noeviction
allkeys-lru
allkeys-lfu
allkeys-random
volatile-lru
volatile-lfu
volatile-random
volatile-ttl | Updates [eviction policy]({{< relref "/operate/rs/databases/memory-performance/eviction-policy" >}}) | | featureset-version | true
false | Updates to latest FeatureSet version | | update-module name=\,featureset_version=\ | strings | Update a module to the specified version | +| update-db-config-modules | true
false | Updates module information in the CRDB configuration (default-db-config) based on the latest module data for the database. Use this option only after all CRDB database instances have upgraded their modules. | ### Returns diff --git a/content/operate/rs/references/compatibility/commands/cluster.md b/content/operate/rs/references/compatibility/commands/cluster.md index 945cfa8579..fc2c242d2f 100644 --- a/content/operate/rs/references/compatibility/commands/cluster.md +++ b/content/operate/rs/references/compatibility/commands/cluster.md @@ -15,7 +15,7 @@ weight: 10 Redis Enterprise blocks most [cluster commands]({{< relref "/commands" >}}?group=cluster). If you try to use a blocked cluster command, it returns an error. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [ASKING]({{< relref "/commands/asking" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [CLUSTER ADDSLOTS]({{< relref "/commands/cluster-addslots" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | @@ -45,6 +45,7 @@ Redis Enterprise blocks most [cluster commands]({{< relref "/commands" >}}?group | [CLUSTER SETSLOT]({{< relref "/commands/cluster-setslot" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [CLUSTER SHARDS]({{< relref "/commands/cluster-shards" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [CLUSTER SLAVES]({{< relref "/commands/cluster-slaves" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | Deprecated as of Redis v5.0.0. | +| [CLUSTER SLOT-STATS]({{< relref "/commands/cluster-slot-stats" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [CLUSTER SLOTS]({{< relref "/commands/cluster-slots" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | Only supported with the [OSS cluster API]({{< relref "/operate/rs/databases/configure/oss-cluster-api" >}}). Deprecated as of Redis v7.0.0. | | [READONLY]({{< relref "/commands/readonly" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [READWRITE]({{< relref "/commands/readwrite" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/connection.md b/content/operate/rs/references/compatibility/commands/connection.md index 7110646292..3f18e40b38 100644 --- a/content/operate/rs/references/compatibility/commands/connection.md +++ b/content/operate/rs/references/compatibility/commands/connection.md @@ -14,7 +14,7 @@ weight: 10 The following tables show which Redis Open Source [connection management commands]({{< relref "/commands" >}}?group=connection) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [AUTH]({{< relref "/commands/auth" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [CLIENT CACHING]({{< relref "/commands/client-caching" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/data-types.md b/content/operate/rs/references/compatibility/commands/data-types.md index fe58e7815d..ffc2d0b506 100644 --- a/content/operate/rs/references/compatibility/commands/data-types.md +++ b/content/operate/rs/references/compatibility/commands/data-types.md @@ -17,7 +17,7 @@ The following tables show which Redis Open Source data type commands are compati ## Bitmap commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [BITCOUNT]({{< relref "/commands/bitcount" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [BITFIELD]({{< relref "/commands/bitfield" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -30,7 +30,7 @@ The following tables show which Redis Open Source data type commands are compati ## Geospatial indices commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [GEOADD]({{< relref "/commands/geoadd" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [GEODIST]({{< relref "/commands/geodist" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -46,7 +46,7 @@ The following tables show which Redis Open Source data type commands are compati ## Hash commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [HDEL]({{< relref "/commands/hdel" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HEXISTS]({{< relref "/commands/hexists" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -55,6 +55,8 @@ The following tables show which Redis Open Source data type commands are compati | [HEXPIRETIME]({{< relref "/commands/hexpiretime" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HGET]({{< relref "/commands/hget" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HGETALL]({{< relref "/commands/hgetall" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [HGETDEL]({{< relref "/commands/hgetdel" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [HGETEX]({{< relref "/commands/hgetex" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HINCRBY]({{< relref "/commands/hincrby" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HINCRBYFLOAT]({{< relref "/commands/hincrbyfloat" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HKEYS]({{< relref "/commands/hkeys" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -69,6 +71,7 @@ The following tables show which Redis Open Source data type commands are compati | [HRANDFIELD]({{< relref "/commands/hrandfield" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HSCAN]({{< relref "/commands/hscan" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HSET]({{< relref "/commands/hset" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [HSETEX]({{< relref "/commands/hsetex" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HSETNX]({{< relref "/commands/hsetnx" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HSTRLEN]({{< relref "/commands/hstrlen" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [HTTL]({{< relref "/commands/httl" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -77,7 +80,7 @@ The following tables show which Redis Open Source data type commands are compati ## HyperLogLog commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [PFADD]({{< relref "/commands/pfadd" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [PFCOUNT]({{< relref "/commands/pfcount" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -88,7 +91,7 @@ The following tables show which Redis Open Source data type commands are compati ## List commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [BLMOVE]({{< relref "/commands/blmove" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [BLMPOP]({{< relref "/commands/blmpop" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -116,7 +119,7 @@ The following tables show which Redis Open Source data type commands are compati ## Set commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [SADD]({{< relref "/commands/sadd" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [SCARD]({{< relref "/commands/scard" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -139,7 +142,7 @@ The following tables show which Redis Open Source data type commands are compati ## Sorted set commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [BZMPOP]({{< relref "/commands/bzmpop" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [BZPOPMAX]({{< relref "/commands/bzpopmax" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -180,13 +183,15 @@ The following tables show which Redis Open Source data type commands are compati ## Stream commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [XACK]({{< relref "/commands/xack" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [XACKDEL]({{< relref "/commands/xackdel" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XADD]({{< relref "/commands/xadd" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XAUTOCLAIM]({{< relref "/commands/xautoclaim" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XCLAIM]({{< relref "/commands/xclaim" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XDEL]({{< relref "/commands/xdel" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [XDELEX]({{< relref "/commands/xdelex" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XGROUP]({{< relref "/commands/xgroup" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XINFO]({{< relref "/commands/xinfo" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [XLEN]({{< relref "/commands/xlen" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -201,7 +206,7 @@ The following tables show which Redis Open Source data type commands are compati ## String commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [APPEND]({{< relref "/commands/append" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [DECR]({{< relref "/commands/decr" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -226,3 +231,21 @@ The following tables show which Redis Open Source data type commands are compati | STRALGO | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | Deprecated as of Redis v7.0.0. | | [STRLEN]({{< relref "/commands/strlen" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [SUBSTR]({{< relref "/commands/substr" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | Deprecated as of Redis v2.0.0. | + + +## Vector set commands + +| Command | Redis
Software | Redis
Cloud | Notes | +|:--------|:----------------------|:-----------------|:------| +| [VADD]({{< relref "/commands/vadd" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VCARD]({{< relref "/commands/vcard" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VDIM]({{< relref "/commands/vdim" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VEMB]({{< relref "/commands/vemb" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VGETATTR]({{< relref "/commands/vgetattr" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VINFO]({{< relref "/commands/vinfo" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VISMEMBER]({{< relref "/commands/vismember" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VLINKS]({{< relref "/commands/vlinks" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VRANDMEMBER]({{< relref "/commands/vrandmember" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VREM]({{< relref "/commands/vrem" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VSETATTR]({{< relref "/commands/vsetattr" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | +| [VSIM]({{< relref "/commands/vsim" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/generic.md b/content/operate/rs/references/compatibility/commands/generic.md index 41c877807a..b079f4d8c1 100644 --- a/content/operate/rs/references/compatibility/commands/generic.md +++ b/content/operate/rs/references/compatibility/commands/generic.md @@ -13,7 +13,7 @@ weight: 10 The following table shows which Redis Open Source [key (generic) commands]({{< relref "/commands" >}}?group=generic) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [COPY]({{< relref "/commands/copy" >}}) | ✅ Standard
✅ Active-Active\* | ✅ Standard
✅ Active-Active\* | For Active-Active or clustered databases, the source and destination keys must be in the same hash slot.

\*Not supported for stream consumer group info. | | [DEL]({{< relref "/commands/del" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/pub-sub.md b/content/operate/rs/references/compatibility/commands/pub-sub.md index 61e2d6b508..4b9c6f60dd 100644 --- a/content/operate/rs/references/compatibility/commands/pub-sub.md +++ b/content/operate/rs/references/compatibility/commands/pub-sub.md @@ -13,7 +13,7 @@ weight: 10 The following table shows which Redis Open Source [pub/sub commands]({{< relref "/commands" >}}?group=pubsub) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [PSUBSCRIBE]({{< relref "/commands/psubscribe" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [PUBLISH]({{< relref "/commands/publish" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/scripting.md b/content/operate/rs/references/compatibility/commands/scripting.md index d044af3a58..a45552a276 100644 --- a/content/operate/rs/references/compatibility/commands/scripting.md +++ b/content/operate/rs/references/compatibility/commands/scripting.md @@ -15,7 +15,7 @@ The following table shows which Redis Open Source [scripting and function comman ## Function commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [FCALL]({{< relref "/commands/fcall" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [FCALL_RO]({{< relref "/commands/fcall_ro" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -31,7 +31,7 @@ The following table shows which Redis Open Source [scripting and function comman ## Scripting commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [EVAL]({{< relref "/commands/eval" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [EVAL_RO]({{< relref "/commands/eval_ro" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/server.md b/content/operate/rs/references/compatibility/commands/server.md index cd5800b4fb..4a61b941fd 100644 --- a/content/operate/rs/references/compatibility/commands/server.md +++ b/content/operate/rs/references/compatibility/commands/server.md @@ -18,7 +18,7 @@ The following tables show which Redis Open Source [server management commands]({ Several access control list (ACL) commands are not available in Redis Enterprise. Instead, you can manage access controls from the [Redis Enterprise Software Cluster Manager UI]({{< relref "/operate/rs/security/access-control" >}}) and the [Redis Cloud console]({{< relref "/operate/rc/security/access-control/data-access-control/role-based-access-control.md" >}}). -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [ACL CAT]({{< relref "/commands/acl-cat" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | Not supported for [scripts]({{}}). | | [ACL DELUSER]({{< relref "/commands/acl-deluser" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | @@ -37,7 +37,7 @@ Several access control list (ACL) commands are not available in Redis Enterprise ## Configuration commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [CONFIG GET]({{< relref "/commands/config-get" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | [Only supports a subset of configuration settings.]({{< relref "/operate/rs/references/compatibility/config-settings" >}}) | | [CONFIG RESETSTAT]({{< relref "/commands/config-resetstat" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | @@ -47,7 +47,7 @@ Several access control list (ACL) commands are not available in Redis Enterprise ## General server commands -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [COMMAND]({{< relref "/commands/command" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [COMMAND COUNT]({{< relref "/commands/command-count" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -72,7 +72,7 @@ For Redis Enterprise Software, you can [manage Redis modules]({{< relref "/opera Redis Cloud manages modules for you and lets you [enable modules]({{< relref "/operate/rc/databases/create-database#modules" >}}) when you create a database. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [MODULE HELP]({{< relref "/commands/module-help" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [MODULE LIST]({{< relref "/commands/module-list" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | @@ -85,7 +85,7 @@ Redis Cloud manages modules for you and lets you [enable modules]({{< relref "/o Although Redis Enterprise does not support certain monitoring commands, you can use the Cluster Manager UI to view Redis Enterprise Software [metrics]({{< relref "/operate/rs/monitoring" >}}) and [logs]({{< relref "/operate/rs/clusters/logging" >}}) or the Redis Cloud console to view Redis Cloud [metrics]({{< relref "/operate/rc/databases/monitor-performance" >}}) and [logs]({{< relref "/operate/rc/logs-reports/system-logs" >}}). -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [DBSIZE]({{< relref "/commands/dbsize" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [INFO]({{< relref "/commands/info" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | In Redis Enterprise, `INFO` returns a different set of fields than Redis Open Source.
Not supported for [scripts]({{}}). | @@ -112,7 +112,7 @@ Although Redis Enterprise does not support certain monitoring commands, you can Data persistence and backup commands are not available in Redis Enterprise. Instead, you can [manage data persistence]({{< relref "/operate/rs/databases/configure/database-persistence" >}}) and [backups]({{< relref "/operate/rs/databases/import-export/schedule-backups" >}}) from the Redis Enterprise Software Cluster Manager UI and the [Redis Cloud console]({{< relref "/operate/rc/databases/view-edit-database#durability-section" >}}). -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [BGREWRITEAOF]({{< relref "/commands/bgrewriteaof" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [BGSAVE]({{< relref "/commands/bgsave" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | @@ -124,7 +124,7 @@ Data persistence and backup commands are not available in Redis Enterprise. Inst Redis Enterprise automatically manages [replication]({{< relref "/operate/rs/databases/durability-ha/replication" >}}). -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [FAILOVER]({{< relref "/commands/failover" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | | [MIGRATE]({{< relref "/commands/migrate" >}}) | ❌ Standard
❌ Active-Active | ❌ Standard
❌ Active-Active | | diff --git a/content/operate/rs/references/compatibility/commands/transactions.md b/content/operate/rs/references/compatibility/commands/transactions.md index 727e14f50e..8336546e58 100644 --- a/content/operate/rs/references/compatibility/commands/transactions.md +++ b/content/operate/rs/references/compatibility/commands/transactions.md @@ -13,7 +13,7 @@ weight: 10 The following table shows which Redis Open Source [transaction commands]({{< relref "/commands" >}}?group=transactions) are compatible with standard and Active-Active databases in Redis Enterprise Software and Redis Cloud. -| Command | Redis
Enterprise | Redis
Cloud | Notes | +| Command | Redis
Software | Redis
Cloud | Notes | |:--------|:----------------------|:-----------------|:------| | [DISCARD]({{< relref "/commands/discard" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | | [EXEC]({{< relref "/commands/exec" >}}) | ✅ Standard
✅ Active-Active | ✅ Standard
✅ Active-Active | | diff --git a/content/operate/rs/references/metrics/_index.md b/content/operate/rs/references/metrics/_index.md index 4589d882db..173ebf938c 100644 --- a/content/operate/rs/references/metrics/_index.md +++ b/content/operate/rs/references/metrics/_index.md @@ -19,7 +19,7 @@ In the Redis Enterprise Cluster Manager UI, you can see real-time performance me See the following topics for metrics definitions: - [Database operations]({{< relref "/operate/rs/references/metrics/database-operations" >}}) for database metrics - [Resource usage]({{< relref "/operate/rs/references/metrics/resource-usage" >}}) for resource and database usage metrics -- [Auto Tiering]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) for additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/auto-tiering" >}}) databases +- [Auto Tiering]({{< relref "/operate/rs/references/metrics/auto-tiering" >}}) for additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/flash" >}}) databases ## Prometheus metrics @@ -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 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`. +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 8.0. 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/auto-tiering.md b/content/operate/rs/references/metrics/auto-tiering.md index 360922e3a8..5f99520d2e 100644 --- a/content/operate/rs/references/metrics/auto-tiering.md +++ b/content/operate/rs/references/metrics/auto-tiering.md @@ -1,16 +1,16 @@ --- -Title: Auto Tiering Metrics +Title: Redis Flex and Auto Tiering Metrics alwaysopen: false categories: - docs - operate - rs description: null -linkTitle: Auto Tiering +linkTitle: Redis Flex and Auto Tiering weight: $weight --- -These metrics are additional metrics for [Auto Tiering ]({{< relref "/operate/rs/databases/auto-tiering" >}}) databases. +These metrics are additional metrics for [Redis Flex and Auto Tiering ]({{< relref "/operate/rs/databases/flash" >}}) databases. #### % Values in RAM diff --git a/content/operate/rs/references/metrics/prometheus-metrics-v2.md b/content/operate/rs/references/metrics/prometheus-metrics-v2.md index 5d7c064bec..599944df36 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]({{}}). diff --git a/content/operate/rs/references/metrics/resource-usage.md b/content/operate/rs/references/metrics/resource-usage.md index 4bb71efa1c..d60af1aa0a 100644 --- a/content/operate/rs/references/metrics/resource-usage.md +++ b/content/operate/rs/references/metrics/resource-usage.md @@ -49,7 +49,7 @@ Remaining unused disk space. ## Memory ### Used memory -Total memory used by the database, including RAM, [Flash]({{< relref "/operate/rs/databases/auto-tiering" >}}) (if enabled), and [replication]({{< relref "/operate/rs/databases/durability-ha/replication" >}}) (if enabled). +Total memory used by the database, including RAM, [Flash]({{< relref "/operate/rs/databases/flash" >}}) (if enabled), and [replication]({{< relref "/operate/rs/databases/durability-ha/replication" >}}) (if enabled). Used memory does not include: 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 e978c937a8..6703f636c3 100644 --- a/content/operate/rs/references/rest-api/objects/bdb/_index.md +++ b/content/operate/rs/references/rest-api/objects/bdb/_index.md @@ -34,6 +34,8 @@ An API object that represents a managed database in the cluster. | authentication_ssl_crdt_certs | {{}}[{
"client_cert": string
}, ...]{{
}} List of authorized CRDT certificates
**client_cert**: X.509 PEM (base64) encoded certificate | | authorized_names | array of strings; Additional certified names (deprecated as of Redis Enterprise v6.4.2; use authorized_subjects instead) | | authorized_subjects | {{}}[{
"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 | +| auto_shards_balancing | boolean (default: false); Automatically balance database shards | +| auto_shards_balancing_grace_period | integer (default: 120); Time to wait before auto sharding is initiated | | auto_upgrade | boolean (default: false); Upgrade the database automatically after a cluster upgrade | | avoid_nodes | array of strings; Cluster node UIDs to avoid when placing the database's shards and binding its endpoints | | background_op | Deprecated as of Redis Enterprise Software v7.8.2. Use [`GET /v1/actions/bdb/`]({{}}) instead.
{{}}[{
"status": string,
"name": string,
"error": object,
"progress": number
}, ...]{{
}} (read-only); **progress**: Percent of completed steps in current operation | @@ -48,9 +50,11 @@ 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. | +| 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.

You can only choose the `bigstore_version` for databases with Redis version 7.4. Database versions earlier than 7.4 use `bigstore_version` `1`. Database versions 8.0 and later use `bigstore_version` `2`. | | 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_global_maximum_dedicated | integer (default: 0); Defines the maximum number of dedicated server connections for a given database. The total number across all workers. The default is 0 for unlimited. | +| conns_minimum_dedicated | integer (default: 2); Number of dedicated server connections the DMC has per worker per shard | | conns_type | Connections limit type
Values:
**‘per-thread’**
‘per-shard’ | | crdt | boolean (default: false); Use CRDT-based data types for multi-master replication | | crdt_causal_consistency | boolean (default: false); Causal consistent CRDB. | @@ -76,6 +80,7 @@ An API object that represents a managed database in the cluster. | db_conns_auditing | boolean; Enables/deactivates [database connection auditing]({{< relref "/operate/rs/security/audit-events" >}}) | | default_user | boolean (default: true); Allow/disallow a default user to connect | | disabled_commands | string (default: ); Redis commands which are disabled in db | +| disconnect_clients_on_password_removal | boolean (default: false); Controls whether client connections using removed, revoked, or rotated passwords are actively disconnected | | dns_address_master | string; Database private address endpoint FQDN (read-only) (deprecated as of Redis Enterprise v4.3.3) | | email_alerts | boolean (default: false); Send email alerts for this DB | | endpoint | string; Latest bound endpoint. Used when reconfiguring an endpoint via update | @@ -101,6 +106,7 @@ An API object that represents a managed database in the cluster. | last_backup_time | string; Time of last successful backup (read-only) | | last_changed_time | string; Last administrative configuration change (read-only) | | last_export_time | string; Time of last successful export (read-only) | +| link_sconn_on_full_request | Feature-flag for DMC behaviour on linking client request
Values:
'enabled'
**'disabled'**
'ssl_only' | | max_aof_file_size | integer; Maximum size for shard's AOF file (bytes). Default 300GB, (on bigstore DB 150GB) | | max_aof_load_time | integer (default: 3600); Maximum time shard's AOF reload should take (seconds). | | max_client_pipeline | integer (default: 200); Maximum number of pipelined commands per connection. Maximum value is 2047. | @@ -111,7 +117,7 @@ An API object that represents a managed database in the cluster. | 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 | | mkms | boolean (default: true); Are MKMS (Multi Key Multi Slots) commands supported? | -| 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. | +| 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 (deprecated; use the module objects for [search]({{}}), [timeseries]({{}}), and [probabilistic]({{}}) instead)
**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.
**module_args** is deprecated as of Redis Enterprise Software v8.0. | | 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]({{}}). | @@ -120,13 +126,18 @@ An API object that represents a managed database in the cluster. | oss_cluster_api_preferred_endpoint_type | Endpoint type in the OSS cluster API
Values:
**‘ip’**
‘hostname’ | | oss_cluster_api_preferred_ip_type | Internal/external IP type in OSS cluster API. Default value for new endpoints
Values:
**'internal'**
'external' | | oss_sharding | boolean (default: false); An alternative to `shard_key_regex` for using the common case of the OSS shard hashing policy | +| partial_request_timeout_seconds | integer (default: 3); When a client connection sends a command, takes a server connection, and stops writing before the command is complete, it causes head-of-line blocking on this server connection. Such commands will time out after this many seconds and the client connection will be closed. | | port | integer; TCP port on which the database is available. Generated automatically if omitted and returned as 0 | +| preemptive_drain_timeout_seconds | integer (default: 2); Timeout in seconds for preemptive drain of client connections before a shard is taken down | +| probabilistic | [complex object]({{< relref "/operate/rs/references/rest-api/objects/bdb/probabilistic" >}}); Configuration fields for probabilistic data structures. | | proxy_policy | The default policy used for proxy binding to endpoints
Values:
'single'
'all-master-shards'
'all-nodes' | +| query_performance_factor | [complex object]({{< relref "/operate/rs/references/rest-api/objects/bdb/query_performance_factor" >}}); Configures query performance factor and related fields | | rack_aware | boolean (default: false); Require the database to always replicate across multiple racks | | 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_sconns_on_demand | Reduces DMC internode connections by at least 50%, conserving sockets, file descriptors, and KEEPALIVE traffic.
Values:
**'enabled'**
'disabled' | | 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 | @@ -135,9 +146,12 @@ An API object that represents a managed database in the cluster. | resp3 | boolean (default: true); Enables or deactivates RESP3 support | | roles_permissions | {{}}[{
"role_uid": integer,
"redis_acl_uid": integer
}, ...]{{
}} | | sched_policy | Controls how server-side connections are used when forwarding traffic to shards.
Values:
**cmp**: Closest to max_pipelined policy. Pick the connection with the most pipelined commands that has not reached the max_pipelined limit.
**mru**: Try to use most recently used connections.
**spread**: Try to use all connections.
**mnp**: Minimal pipeline policy. Pick the connection with the least pipelined commands. | +| search | [complex object]({{< relref "/operate/rs/references/rest-api/objects/bdb/search" >}}); Configuration fields for search and query. | | shard_block_crossslot_keys | boolean (default: false); In Lua scripts, prevent use of keys from different hash slots within the range owned by the current shard | | shard_block_foreign_keys | boolean (default: true); In Lua scripts, `foreign_keys` prevent use of keys which could reside in a different shard (foreign keys) | | shard_key_regex | Custom keyname-based sharding rules.
`[{"regex": string}, ...]`
To use the default rules you should set the value to:
`[{"regex": ".*\\{(?.*)\\}.*"}, {"regex": "(?.*)"}]` | +| shard_imbalance_threshold | number (default: 314572800); Automatically balances shards only if their imbalance is greater than this threshold | +| shard_imbalance_threshold_percentage | integer (default: 20); Automatically balances shards only if their imbalance percentage is greater than this threshold | | shard_list | array of integers; Cluster unique IDs of all database shards. | | sharding | boolean (default: false); Cluster mode (server-side sharding). When true, shard hashing rules must be provided by either `oss_sharding` or `shard_key_regex` | | shards_count | integer, (range: 1-512) (default: 1); Number of database server-side shards | @@ -156,9 +170,11 @@ An API object that represents a managed database in the cluster. | syncer_log_level | Minimum syncer log level to log. Only logs with this level or higher will be logged.
Values:
‘crit’
‘error’
‘warn’
**‘info’**
‘trace’
‘debug’ | | syncer_mode | The syncer for replication between database instances is either on a single node (centralized) or on each node that has a proxy according to the proxy policy (distributed). (read-only)
Values:
'distributed'
'centralized' | | tags | {{}}[{
"key": string,
"value": string
}, ...]{{
}} Optional list of tag objects attached to the database. Each tag requires a key-value pair.
**key**: Represents the tag's meaning and must be unique among tags (pattern does not allow special characters &,\<,>,")
**value**: The tag's value.| +| timeseries | [complex object]({{< relref "/operate/rs/references/rest-api/objects/bdb/timeseries" >}}); Configuration fields for timeseries. | | tls_mode | Require TLS-authenticated and encrypted connections to the database
Values:
'enabled'
**'disabled'**
'replica_ssl' | | tracking_table_max_keys | integer; The client-side caching invalidation table size. 0 makes the cache unlimited. | | type | Type of database
Values:
**'redis'**
'memcached' | | use_nodes | array of strings; Cluster node UIDs to use for database shards and bound endpoints | +| use_selective_flush | boolean (default: true); If true, enable selective flush of destination shards | | version | string; Database compatibility version: full Redis/memcached version number, such as 6.0.6. This value can only change during database creation and database upgrades.| | wait_command | boolean (default: true); Supports Redis wait command (read-only) | diff --git a/content/operate/rs/references/rest-api/objects/bdb/probabilistic.md b/content/operate/rs/references/rest-api/objects/bdb/probabilistic.md new file mode 100644 index 0000000000..a063e89762 --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/bdb/probabilistic.md @@ -0,0 +1,24 @@ +--- +Title: Probabilistic data structures configuration object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Configuration object for probabilistic data structures +linkTitle: probabilistic +weight: $weight +--- + +Configuration fields for probabilistic data structures. + +| Field | Type/Value | Description | +|-------|------------|-------------| +| bf-error-rate | number (range: 0-1) (default: 0.01) | Error ratio for new Bloom filters. These defaults are applied to each new Bloom filter upon its creation. | +| bf-initial-size | integer (range: 1-1048576) (default: 100) | Initial capacity for new Bloom filters. These defaults are applied to each new Bloom filter upon its creation. | +| bf-expansion-factor | integer (range: 0-32768) (default: 2) | Expansion factor for new Bloom filters. These defaults are applied to each new Bloom filter upon its creation. | +| cf-initial-size | integer (range: 1-1048576) (default: 1024) | Initial capacity for new Cuckoo filters. These defaults are applied to each new Cuckoo filter upon its creation. | +| cf-bucket-size | integer (range: 1-255) (default: 2) | Number of items in each bucket for new Cuckoo filters. These defaults are applied to each new Cuckoo filter upon its creation. | +| cf-max-iterations | integer (range: 1-65535) (default: 20) | Maximum iterations for new Cuckoo filters. These defaults are applied to each new Cuckoo filter upon its creation. | +| cf-expansion-factor | integer (range: 0-32768) (default: 1) | Expansion factor for new Cuckoo filters. These defaults are applied to each new Cuckoo filter upon its creation. | +| cf-max-expansions | integer (range: 1-65536) (default: 32) | Maximum expansions for new Cuckoo filters. These defaults are applied to each new Cuckoo filter upon its creation. | diff --git a/content/operate/rs/references/rest-api/objects/bdb/query_performance_factor.md b/content/operate/rs/references/rest-api/objects/bdb/query_performance_factor.md new file mode 100644 index 0000000000..3ca0208b0b --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/bdb/query_performance_factor.md @@ -0,0 +1,19 @@ +--- +Title: Query performance factor object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Configuration object for query performance factor +linkTitle: query_performance_factor +weight: $weight +--- + +Configures [query performance factor]({{}}) and related fields. + +| Field | Type/Value | Description | +|-------|------------|-------------| +| active | boolean (default: false) | If true, enables query performance factor for the database | +| scaling_factor | integer (range: 0-16) (default: 0) | Scales the magnitude of the query performance factor | + diff --git a/content/operate/rs/references/rest-api/objects/bdb/search.md b/content/operate/rs/references/rest-api/objects/bdb/search.md new file mode 100644 index 0000000000..000ec657fe --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/bdb/search.md @@ -0,0 +1,57 @@ +--- +Title: Search and query configuration object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Configuration object for search and query. +linkTitle: search +weight: $weight +--- + +Configuration fields for search and query. + +| Field | Type/Value | Description | +|-------|------------|-------------| +| search-timeout | integer (range: 1-9223372036854775807) (default: 500) | The maximum amount of time in milliseconds that a search query is allowed to run. | +| search-ext-load | string | If present, RediSearch will try to load an extension dynamic library from its specified file path. Requires a database restart to take effect. | +| search-max-doctablesize | integer (range: 1-18446744073709551615) (default: 1000000) | The maximum size of the internal hash table used for storing the documents. Requires a database restart to take effect. | +| search-friso-ini | string | If present, load the custom Chinese dictionary from the specified path. Requires a database restart to take effect. | +| search-cursor-max-idle | integer (range: 1-9223372036854775807) (default: 300000) | The maximum idle time in milliseconds that can be set to the cursor api. | +| search-partial-indexed-docs | integer (range: 0-9223372036854775807) (default: 0) | Enable or turn off the Redis command filter. Requires a database restart to take effect. | +| search-gc-scan-size | integer (range: 1-9223372036854775807) (default: 100) | The bulk size of the internal GC used for cleaning up indexes. Requires a database restart to take effect. | +| search-no-gc | boolean (default: false) | If set, Garbage Collection is deactivated for all indexes. Requires a database restart to take effect. | +| search-fork-gc-run-interval | integer (range: 1-9223372036854775807) (default: 30) | Interval in seconds between two consecutive fork GC runs. | +| search-fork-gc-retry-interval | integer (range: 1-9223372036854775807) (default: 5) | Interval in seconds in which RediSearch will retry to run fork GC in case of a failure. | +| search-fork-gc-clean-threshold | integer (range: 1-9223372036854775807) (default: 100) | The fork GC will only start to clean when the number of not cleaned documents exceeds this threshold; otherwise, it will skip this run. | +| search-vss-max-resize | integer (range: 0-4294967295) (default: 0) | The maximum memory resize for vector similarity indexes in bytes. | +| search-union-iterator-heap | integer (range: 1-9223372036854775807) (default: 20) | The minimum number of iterators in a union from which the iterator will switch to heap-based implementation. | +| search-min-phonetic-term-len | integer (range: 1-9223372036854775807) (default: 3) | Minimum length of term to be considered for phonetic matching. | +| search-multi-text-slop | integer (range: 1-4294967295) (default: 100) | Set RediSearch delta used to increase positional offsets between array slots for multi-text values. Requires a database restart to take effect. | +| search-raw-docid-encoding | boolean (default: false) | Turn off compression for DocID inverted index. Boost CPU performance. Requires a database restart to take effect. | +| search-_print-profile-clock | boolean (default: true) | Turn off print of time for ft.profile. For testing only. | +| search-_free-resource-on-thread | boolean (default: true) | Determine whether some index resources are free on a second thread | +| search-_numeric-compress | boolean (default: false) | Enable legacy compression of double to float. | +| search-bg-index-sleep-gap | integer (range: 1-4294967295) (default: 100) | The number of iterations to run while performing background indexing before we call usleep(1) (sleep for 1 micro-second) and make sure that we allow Redis to process other commands. Requires a database restart to take effect. | +| search-_numeric-ranges-parents | integer (range: 0-2) (default: 0) | Keep numeric ranges in numeric tree parent nodes of leaves for `x` | +| search-fork-gc-sleep-before-exit | integer (range: 0-9223372036854775807) (default: 0) | Set the number of seconds for the fork GC to sleep before exists, should always be set to 0 (other then on tests). | +| search-no-mem-pools | boolean (default: false) | Set RediSearch to run without memory pools. Requires a database restart to take effect. | +| search-_prioritize-intersect-union-children | boolean (default: false) | Intersection iterator orders the children iterators by their relative estimated number of results in ascending order. If the first iterators have a lower count of results, skips a larger number of results, which translates into faster iteration. If this flag is set, we use this optimization in a way where union iterators are being factorized by the number of their own children, so that we sort by the number of children times the overall estimated number of results instead. | +| search-conn-per-shard | integer (range: 0-9223372036854775807) (default: 0) | Number of connections to each shard in the cluster. Default to 0. If 0, the number of connections is set to `WORKERS` + 1. | +| search-cursor-reply-threshold | integer (range: 1-9223372036854775807) (default: 1) | Maximum number of replies to accumulate before triggering `_FT.CURSOR READ` on the shards | +| search-threads | integer | Maximum number of replies to accumulate before triggering `_FT.CURSOR READ` on the shards. Requires a database restart to take effect. | +| search-default-dialect | integer (range: 1-4) (default: 1) | The default DIALECT to be used by FT.CREATE, FT.AGGREGATE, FT.EXPLAIN, FT.EXPLAINCLI, and FT.SPELLCHECK. | +| search-topology-validation-timeout | integer (range: 0-9223372036854775807) (default: 30000) | Sets the timeout for topology validation (in milliseconds). After this timeout, any pending requests will be processed, even if the topology is not fully connected. | +| search-workers | integer (range: 0-8192) (default: 0) | Number of worker threads to use for query processing and background tasks. | +| search-min-operation-workers | integer (range: 0-8192) (default: 4) | Number of worker threads to use for background tasks when the server is in an operation event. | +| search-tiered-hnsw-buffer-limit | integer (range: 0-9223372036854775807) (default: 1024) | Sets the buffer limit threshold for vector similarity tiered HNSW index. If using WORKERS for indexing and the number of vectors waiting in the buffer to be indexed exceeds this limit, inserts new vectors directly into HNSW. Requires a database restart to take effect. | +| search-workers-priority-bias-threshold | integer (range: 0-9223372036854775807) (default: 1) | The number of high-priority tasks to run at any given time by the worker thread pool, before executing low-priority tasks. After this number of high-priority tasks are running, the worker thread pool will run high and low-priority tasks alternately. Requires a database restart to take effect. | +| search-on-timeout | "RETURN"
"FAIL"
(default: "RETURN") | The response policy for queries that exceed the TIMEOUT setting can be one of the following: RETURN / FAIL | +| search-min-prefix | integer (range: 1-9223372036854775807) (default: 2) | The minimum number of characters allowed for prefix queries (e.g., hel*) | +| search-min-stem-len | integer (range: 2-4294967295) (default: 4) | The minimum word length to stem | +| search-max-prefix-expansions | integer (range: 1-9223372036854775807) (default: 200) | The maximum number of expansions allowed for query prefixes | +| search-max-search-results | integer (range: 0-9223372036854775807) (default: 1000000) | The maximum number of results to be returned by the FT.SEARCH command if LIMIT is used | +| search-max-aggregate-results | integer (range: 0-9223372036854775807) (default: 2147483648) | The maximum number of results to be returned by the FT.AGGREGATE command if LIMIT is used | +| search-io-threads | integer (range: 1-256) (default: 1) | The number of threads the coordinator is using for IO threads to handle network to/from other shards | +| search-enable-unstable-features | boolean (default: false) | Enable unstable features. | diff --git a/content/operate/rs/references/rest-api/objects/bdb/timeseries.md b/content/operate/rs/references/rest-api/objects/bdb/timeseries.md new file mode 100644 index 0000000000..d9481a3238 --- /dev/null +++ b/content/operate/rs/references/rest-api/objects/bdb/timeseries.md @@ -0,0 +1,24 @@ +--- +Title: Timeseries configuration object +alwaysopen: false +categories: +- docs +- operate +- rs +description: Configuration object timeseries. +linkTitle: timeseries +weight: $weight +--- + +Configuration fields for timeseries. + +| Field | Type/Value | Description | +|-------|------------|-------------| +| ts-num-threads | integer (range: 1-16) | Number of threads for time series operations. Requires a database restart to take effect. | +| ts-compaction-policy | string | Default compaction rules. This default value is applied to each new time series upon its creation | +| ts-retention-policy | integer (range: 0-9223372036854775807) (default: 0) | Default retention period, in milliseconds. This default value is applied to each new time series upon its creation, but if COMPACTION_POLICY is specified, it is overridden for created compactions as specified in COMPACTION_POLICY. | +| ts-duplicate-policy | "BLOCK"
"FIRST"
"LAST"
"MIN"
"MAX"
"SUM"
(default: "BLOCK") | Default policy for handling insertion of multiple samples with identical timestamps. This default value is applied to each new time series upon its creation. | +| ts-encoding | "COMPRESSED"
"UNCOMPRESSED"
(default: "COMPRESSED") | Default chunk encoding for automatically-created compacted time series. This default value is applied to each new compacted time series automatically created due to the creation of a new time series when COMPACTION_POLICY is specified. | +| ts-chunk-size-bytes | integer (range: 48-1048576) (default: 4096) | Default initial allocation size, in bytes, for the data part of each new chunk. This default value is applied to each new time series upon its creation. | +| ts-ignore-max-time-diff | integer (range: 0-9223372036854775807) (default: 0) | Default maximum time difference that can be expired to consider a new insertion to be a duplicate. This default value is applied to each new time series upon its creation. | +| ts-ignore-max-val-diff | number (default: 0) | Default maximum value difference for a new insertion to be considered a duplicate. This default value is applied to each new time series upon its creation. | diff --git a/content/operate/rs/references/rest-api/objects/bootstrap/_index.md b/content/operate/rs/references/rest-api/objects/bootstrap/_index.md index 9b14b1d6e1..df3331d459 100644 --- a/content/operate/rs/references/rest-api/objects/bootstrap/_index.md +++ b/content/operate/rs/references/rest-api/objects/bootstrap/_index.md @@ -18,9 +18,9 @@ A bootstrap configuration object. | action | 'create_cluster'
'join_cluster'
'recover_cluster' | Action to perform | | cluster | [cluster_identity]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/cluster_identity" >}}) object | Cluster to join or create | | cnm_https_port | integer | Port to join a cluster with non-default cnm_https port | -| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port | +| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port | | credentials | [credentials]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/credentials" >}}) object | Cluster admin credentials | -| dns_suffixes | {{}} +| dns_suffixes | object | Explicit configuration of DNS suffixes
{{}} [{ "name": string, "cluster_default": boolean, @@ -28,14 +28,14 @@ A bootstrap configuration object. "use_internal_addr": boolean, "slaves": array }, ...] -{{}} | Explicit configuration of DNS suffixes
**name**: DNS suffix name
**cluster_default**: Should this suffix be the default cluster suffix
**use_aaaa_ns**: Should AAAA records be published for NS records
**use_internal_addr**: Should internal cluster IPs be published for databases
**slaves**: List of replica servers that should be published as NS and notified | -| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.| -| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port| -| gossip_envoy_admin_port | integer, (range: 1024-65535) | Gossip envoy admin port| +{{
}}
**name**: DNS suffix name
**cluster_default**: Should this suffix be the default cluster suffix
**use_aaaa_ns**: Should AAAA records be published for NS records
**use_internal_addr**: Should internal cluster IPs be published for databases
**slaves**: List of replica servers that should be published as NS and notified | +| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.| +| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port| +| gossip_envoy_admin_port | integer, (range: 1024-65535) | Gossip envoy admin port| | license | string | License string. If not provided, a trial license is set by default. | | max_retries | integer | Max number of retries in case of recoverable errors | | node | [node_identity]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/node_identity" >}}) object | Node description | -| policy | [policy]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/policy" >}}) object | Policy object | +| policy | [policy]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/policy" >}}) object | Policy object (deprecated; use [`PUT /v1/cluster/policy`]({{< relref "/operate/rs/references/rest-api/requests/cluster/policy#put-cluster-policy" >}}) after cluster creation instead) | | recovery_filename | string | Name of backup file to recover from | | required_version | string | This node can only join the cluster if all nodes in the cluster have a version greater than the required_version (deprecated as of Redis Enterprise Software v7.8.6) | | retry_time | integer | Max waiting time between retries (in seconds) | diff --git a/content/operate/rs/references/rest-api/objects/bootstrap/node_identity.md b/content/operate/rs/references/rest-api/objects/bootstrap/node_identity.md index e43ec453df..fb6c589466 100644 --- a/content/operate/rs/references/rest-api/objects/bootstrap/node_identity.md +++ b/content/operate/rs/references/rest-api/objects/bootstrap/node_identity.md @@ -14,7 +14,7 @@ weight: $weight | Name | Type/Value | Description | |------|------------|-------------| | bigstore_driver | 'rocksdb' | Bigstore driver name or none (deprecated, use the [cluster object]({{< relref "/operate/rs/references/rest-api/objects/cluster" >}})'s `bigstore_driver` instead) | -| bigstore_enabled | boolean (default: false) | If `true`, then flash storage is enabled on this node for [Auto Tiering]({{}}) databases. Configurable during [bootstrapping]({{}}). After bootstrapping, it is read-only. | +| bigstore_enabled | boolean (default: false) | If `true`, then flash storage is enabled on this node for [Redis Flex and Auto Tiering]({{}}) databases. Configurable during [bootstrapping]({{}}). After bootstrapping, it is read-only. | | identity | [identity]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/identity" >}}) object | Node identity | | limits | [limits]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/limits" >}}) object | Node limits | | paths | [paths]({{< relref "/operate/rs/references/rest-api/objects/bootstrap/paths" >}}) object | Storage paths object | 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 34f740a945..608f6331f5 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/_index.md +++ b/content/operate/rs/references/rest-api/objects/cluster/_index.md @@ -16,70 +16,74 @@ An API object that represents the cluster. | Name | Type/Value | Description | |------|------------|-------------| | alert_settings | [alert_settings]({{< relref "/operate/rs/references/rest-api/objects/cluster/alert_settings" >}}) object | Cluster and node alert settings | -| bigstore_driver | 'speedb'
'rocksdb' | Storage engine for [Auto Tiering]({{}}) | -| cluster_ssh_public_key | string | Cluster's autogenerated SSH public key | -| cm_port | integer, (range: 1024-65535) | UI HTTPS listening port | -| cm_session_timeout_minutes | integer (default: 15) | The timeout (in minutes) for the session to the CM | +| availability_lag_tolerance_ms | integer (default: 100) | The maximum replication lag in milliseconds tolerated between source and replicas during [lag-aware database availability checks]({{}}). | +| bigstore_driver | "speedb"
"rocksdb" | Storage engine for [Redis Flex or Auto Tiering]({{}}) | +| cluster_ssh_public_key | string | Cluster's autogenerated SSH public key | +| cm_port | integer, (range: 1024-65535) | UI HTTPS listening port | +| cm_session_timeout_minutes | integer (default: 15) | The timeout (in minutes) for the session to the CM | | cnm_http_max_threads_per_worker | integer (default: 10) | Maximum number of threads per worker in the `cnm_http` service (deprecated) | -| cnm_http_port | integer, (range: 1024-65535) | API HTTP listening port | +| cnm_http_port | integer, (range: 1024-65535) | API HTTP listening port | | cnm_http_workers | integer (default: 1) | Number of workers in the `cnm_http` service | -| cnm_https_port | integer, (range: 1024-65535) | API HTTPS listening port | +| cnm_https_port | integer, (range: 1024-65535) | API HTTPS listening port | | control_cipher_suites | string | Specifies the enabled ciphers for the control plane. The ciphers are specified in the format understood by the BoringSSL library. | | control_cipher_suites_tls_1_3 | string | Specifies the enabled TLS 1.3 ciphers for the control plane. The ciphers are specified in the format understood by the BoringSSL library. (read-only) | -| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port | -| crdt_rest_client_retries | integer | Maximum number of retries for the REST client used by the Active-Active management API | -| crdt_rest_client_timeout | integer | Timeout for REST client used by the Active-Active management API | +| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port | +| crdt_rest_client_retries | integer | Maximum number of retries for the REST client used by the Active-Active management API | +| crdt_rest_client_timeout | integer | Timeout for REST client used by the Active-Active management API | | created_time | string | Cluster creation date (read-only) | | data_cipher_list | string | Specifies the enabled ciphers for the data plane. The ciphers are specified in the format understood by the OpenSSL library. | | data_cipher_suites_tls_1_3 | string | Specifies the enabled TLS 1.3 ciphers for the data plane. | | debuginfo_path | string | Path to a local directory used when generating support packages | -| default_non_sharded_proxy_policy | string (default: single) | Default proxy_policy for newly created non-sharded databases' endpoints (read-only) | -| default_sharded_proxy_policy | string (default: all-master-shards) | Default proxy_policy for newly created sharded databases' endpoints (read-only) | -| email_alerts | boolean (default: false) | Send node/cluster email alerts (requires valid SMTP and email_from settings) | +| default_non_sharded_proxy_policy | string (default: single) | Default proxy_policy for newly created non-sharded databases' endpoints (read-only) | +| default_sharded_proxy_policy | string (default: all-master-shards) | Default proxy_policy for newly created sharded databases' endpoints (read-only) | +| disconnect_clients_on_password_removal | "enabled"
"disabled"
**"auto"** | This flag controls whether client connections using removed, revoked, or rotated passwords are actively disconnected | +| email_alerts | boolean (default: false) | Send node/cluster email alerts (requires valid SMTP and email_from settings) | | email_from | string | Sender email for automated emails | -| encrypt_pkeys | boolean (default: false) | Enable or turn off encryption of private keys | -| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.| -| envoy_max_downstream_connections | integer, (range: 100-2048) | The max downstream connections envoy is allowed to open | -| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port| -| 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 | +| encrypt_pkeys | boolean (default: false) | Enable or turn off encryption of private keys | +| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.| +| envoy_max_downstream_connections | integer, (range: 100-2048) | The max downstream connections envoy is allowed to open | +| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port| +| 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 | -| 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 | +| metrics_auth | boolean (default: false) | If true, requires authentication for requests to the metrics exporter | +| 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 | +| 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]({{}}). | +| 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 | +| 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 | | password_min_length | integer, (range: 8-256) (default: 8) | The minimum length required for a password. | | proxy_certificate | string | Cluster's proxy certificate | | 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"]`) | +| replica_sconns_on_demand | "enabled"
"disabled"
**"auto"** | Reduces DMC internode connections by at least 50%, conserving sockets, file descriptors, and `KEEPALIVE` traffic | | robust_crdt_syncer | boolean (default: false) | If `true`, enables the robust syncer for Active-Active databases | | s3_ca_cert | string | Filepath to the PEM-encoded CA certificate to use for validating TLS connections to the S3 server | | 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. | +| 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. | | sentinel_cipher_suites_tls_1_3 | string | Specifies the list of enabled TLS 1.3 ciphers for the discovery (sentinel) service. The supported ciphers are those implemented by the [cipher_suites.go]() package.(read-only) | -| sentinel_tls_mode | 'allowed'
'disabled'
'required' | Determines whether the discovery service allows, blocks, or requires TLS connections (previously named `sentinel_ssl_policy`)
**allowed**: Allows both TLS and non-TLS connections
**disabled**: Allows only non-TLS connections
**required**: Allows only TLS connections | -| slave_ha | boolean (default: false) | Enable the replica high-availability mechanism (read-only) | -| slave_ha_bdb_cooldown_period | integer (default: 86400) | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database (read-only) | -| slave_ha_cooldown_period | integer (default: 3600) | Time in seconds between runs of the replica high-availability mechanism on different nodes (read-only) | -| slave_ha_grace_period | integer (default: 900) | Time in seconds between a node failure and when the replica high-availability mechanism starts relocating shards (read-only) | +| sentinel_tls_mode | "allowed"
"disabled"
"required" | Determines whether the discovery service allows, blocks, or requires TLS connections (previously named `sentinel_ssl_policy`)
**allowed**: Allows both TLS and non-TLS connections
**disabled**: Allows only non-TLS connections
**required**: Allows only TLS connections | +| slave_ha | boolean (default: false) | Enable the replica high-availability mechanism (read-only) | +| slave_ha_bdb_cooldown_period | integer (default: 86400) | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database (read-only) | +| slave_ha_cooldown_period | integer (default: 3600) | Time in seconds between runs of the replica high-availability mechanism on different nodes (read-only) | +| slave_ha_grace_period | integer (default: 900) | Time in seconds between a node failure and when the replica high-availability mechanism starts relocating shards (read-only) | | slowlog_in_sanitized_support | boolean | Whether to include slowlogs in the sanitized support package | | smtp_host | string | SMTP server for automated emails | | smtp_password | string | SMTP server password | | smtp_port | integer | SMTP server port for automated emails | -| smtp_tls_mode | 'none'
'starttls'
'tls' | Specifies which TLS mode to use for SMTP access | -| smtp_use_tls | boolean (default: false) | Use TLS for SMTP access (deprecated as of Redis Enterprise v4.3.3, use smtp_tls_mode field instead) | +| smtp_tls_mode | "none"
"starttls"
"tls" | Specifies which TLS mode to use for SMTP access | +| smtp_use_tls | boolean (default: false) | Use TLS for SMTP access (deprecated as of Redis Enterprise v4.3.3, use smtp_tls_mode field instead) | | smtp_username | string | SMTP server username (pattern does not allow special characters &,\<,>,") | | syncer_certificate | string | Cluster's syncer certificate | -| upgrade_mode | boolean (default: false) | Is cluster currently in upgrade mode | -| use_external_ipv6 | boolean (default: true) | Should redislabs services listen on ipv6 | -| use_ipv6 | boolean (default: true) | Should redislabs services listen on ipv6 (deprecated as of Redis Enterprise v6.4.2, replaced with use_external_ipv6) | -| wait_command | boolean (default: true) | Supports Redis wait command (read-only) | +| upgrade_mode | boolean (default: false) | Is cluster currently in upgrade mode | +| use_external_ipv6 | boolean (default: true) | Should redislabs services listen on ipv6 | +| use_ipv6 | boolean (default: true) | Should redislabs services listen on ipv6 (deprecated as of Redis Enterprise v6.4.2, replaced with use_external_ipv6) | +| wait_command | boolean (default: true) | Supports Redis wait command (read-only) | diff --git a/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md b/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md index 5cbbcbcd17..9866dc5920 100644 --- a/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster/alert_settings.md @@ -29,6 +29,7 @@ weight: $weight | cluster_ocsp_status_revoked | boolean (default: false) | OCSP certificate status is REVOKED | | cluster_ram_overcommit | boolean (default: false) | RAM committed to databases is larger than cluster total RAM | | cluster_too_few_nodes_for_replication | boolean (default: false) | Replication requires at least 2 nodes in the cluster | +| cluster_users_count_approaches_limit | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Number of users approaches the maximum limit of 32,000 users. This alert is enabled with a 90% threshold by default on new clusters. | | node_aof_slow_disk_io | boolean (default: false) | AOF reaching disk I/O limits | node_checks_error | boolean (default: false) | Some node checks have failed | | node_cpu_utilization | [cluster_alert_settings_with_threshold]({{< relref "/operate/rs/references/rest-api/objects/cluster/cluster_alert_settings_with_threshold" >}}) object | Node CPU utilization has reached the threshold value (% of the utilization limit) | 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 c0376a9be1..cced6f86ff 100644 --- a/content/operate/rs/references/rest-api/objects/cluster_settings.md +++ b/content/operate/rs/references/rest-api/objects/cluster_settings.md @@ -15,61 +15,61 @@ Cluster resources management policy | Name | Type/Value | Description | |------|------------|-------------| | acl_pubsub_default | `resetchannels`
`allchannels` | Default pub/sub ACL rule for all databases in the cluster:
•`resetchannels` blocks access to all channels (restrictive)
•`allchannels` allows access to all channels (permissive) | -| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | -| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | -| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| 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 | +| auto_recovery | boolean (default: false) | Defines whether to use automatic recovery after shard failure | +| automatic_node_offload | boolean (default: true) | Defines whether the cluster will automatically migrate shards from a node, in case the node is overbooked | +| bigstore_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| bigstore_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| 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_bigstore_version | **`1`**
`2` | Determines the default value of `bigstore_version` for new databases with Redis version 7.4:
• `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 | +| 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_recovery_wait_time | integer (default: -1) | The default time for new databases to wait for the persistence file to be available during automatic recovery. -1 means wait forever. | -| default_sharded_proxy_policy | `single`

`all-master-shards`

`all-nodes` | Default proxy_policy for newly created sharded databases' endpoints | +| default_provisioned_redis_version | string | Default Redis version | +| default_recovery_wait_time | integer (default: -1) | The default time for new databases to wait for the persistence file to be available during automatic recovery. -1 means wait forever. | +| 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 | -| default_tracking_table_max_keys_policy | integer (default: 1000000) | Defines the default value of the client-side caching invalidation table size for new databases. 0 makes the cache unlimited. | +| default_tracking_table_max_keys_policy | integer (default: 1000000) | Defines the default value of the client-side caching invalidation table size for new databases. 0 makes the cache unlimited. | | diskless_repl | `yes`
`no` (default: yes) | If `yes`, enable default Redis diskless replication mechanism (deprecated; use `repl_diskless` instead) | -| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | -| evict_node_use_free_memory | boolean | When evicting a node, use the free memory instead of the provisional memory to check if the shards from the old node fit on the new one | -| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | -| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | -| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | -| 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. | +| endpoint_rebind_propagation_grace_time | integer | Time to wait between the addition and removal of a proxy | +| evict_node_use_free_memory | boolean | When evicting a node, use the free memory instead of the provisional memory to check if the shards from the old node fit on the new one | +| expose_hostnames_for_all_suffixes | boolean (default: false) | If true, enables exposing hostnames for non-default DNS suffixes | +| failure_detection_sensitivity | `high`
`low` | Predefined thresholds and timeouts for failure detection (previously known as `watchdog_profile`)
• `high` (previously `local-network`) – high failure detection sensitivity, lower thresholds, faster failure detection and failover
• `low` (previously `cloud`) – low failure detection sensitivity, higher tolerance for latency variance (also called network jitter) | +| hide_user_data_from_log | boolean (default: false) | Set to `true` to enable the `hide-user-data-from-log` Redis configuration setting, which avoids logging user data | +| 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 | -| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | +| master_healthcheck_api_auth | boolean (default: true) | Defines if authentication is required by the local `master_healthcheck` API | | 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 | -| metrics_exporter_expose_bdb_name | boolean (default: false) | If true, adds a label with the database name to relevant metrics | +| metrics_exporter_expose_bdb_name | boolean (default: false) | If true, adds a label with the database name to relevant metrics | | 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 can run at any given time. 0 means unlimited. | -| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | -| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | -| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | -| persistence_cleanup_scan_interval | string | [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) that defines the Redis cleanup schedule | +| oss_cluster_api_preferred_endpoint_type | `ip`
`hostname` (default: ip) | Determines the default endpoint type in the OSS Cluster API for new endpoints | +| oss_cluster_api_preferred_ip_type | `internal`
`external` (default: internal) | Determines the default IP type in the OSS Cluster API for new endpoints | +| persistence_cleanup_grace_time | integer | Time in seconds before an unmodified file is considered to be stale and to be removed by persistence cleanup | +| 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 | -| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | -| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | -| redis_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 | +| redis_migrate_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_migrate_node_threshold_p | integer | Minimum free memory (excluding reserved memory) allowed on a node before automatic migration of shards from it to free more memory | +| redis_provision_node_threshold | integer | Minimum free memory (excluding reserved memory) allowed on a node before new shards can no longer be added to it | +| redis_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 | | redis_upgrade_policy | **`major`**
`latest` | Create/upgrade Redis Enterprise software on databases in the cluster by compatibility with major versions or latest versions of Redis Open Source | | repl_diskless | boolean (default: true) | If true, enables the default Redis diskless replication mechanism | -| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | +| resp3_default | boolean (default: true) | Determines the default value of the `resp3` option upon upgrading a database to version 7.2 | | shards_overbooking | boolean | If true, all databases' memory_size is ignored during shards placement | | show_internals | boolean | Show internal databases (and their shards and endpoints) REST APIs | -| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | +| show_metrics_during_state_machine | boolean | Show metrics during state machine operations | | slave_ha | boolean | Enable the replica high-availability mechanism. Deprecated as of Redis Enterprise Software v7.2.4. | -| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | -| slave_ha_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | +| slave_ha_bdb_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | +| slave_ha_cooldown_period | integer | Time in seconds between runs of the replica high-availability mechanism on different nodes on the same database | | slave_ha_grace_period | integer | Time in seconds between a node failure and when the replica high-availability mechanism starts relocating shards | | slow_log_max_len | integer (default: 1024) | Set max slow log entries in debug info | | use_librdb | boolean | If true, new databases use the new RDB parser instead of the old one | -| witness_disk_update_frequency_divisor | integer (default: 3) | Redis Enterprise Software updates the witness disk every `node_max_update_time / witness_disk_update_frequency_divisor` seconds | +| witness_disk_update_frequency_divisor | integer (default: 3) | Redis Enterprise Software updates the witness disk every `node_max_update_time / witness_disk_update_frequency_divisor` seconds | diff --git a/content/operate/rs/references/rest-api/objects/module.md b/content/operate/rs/references/rest-api/objects/module.md index 5137031d6e..27edf313da 100644 --- a/content/operate/rs/references/rest-api/objects/module.md +++ b/content/operate/rs/references/rest-api/objects/module.md @@ -30,11 +30,9 @@ Represents a [Redis module]({{< relref "/operate/oss_and_stack/stack-with-enterp | homepage | string | Module's homepage | | is_bundled | boolean | Whether module came bundled with a version of Redis Enterprise | | license | string | Module is distributed under this license | -| min_redis_pack_version | string | Minimum Redis Enterprise Software cluster version required by this module | | min_redis_version | string | Minimum Redis database version required by this module. Only relevant for Redis databases earlier than v7.4. | | module_file | string | Module filename | | module_name | string | Module's name
Values:
`search`
`ReJSON`
`timeseries`
`bf` | -| platforms | platforms object | Mapping operating system and architecture to module information (read-only) | | semantic_version | string | Module's semantic version | | sha256 | string | SHA256 of module binary (deprecated) | | version | integer | Module's version | diff --git a/content/operate/rs/references/rest-api/objects/module_metadata.md b/content/operate/rs/references/rest-api/objects/module_metadata.md index df4026bb2b..728ea00605 100644 --- a/content/operate/rs/references/rest-api/objects/module_metadata.md +++ b/content/operate/rs/references/rest-api/objects/module_metadata.md @@ -15,7 +15,6 @@ Represents a [Redis module]({{< relref "/operate/oss_and_stack/stack-with-enterp | Name | Type/Value | Description | |------|------------|-------------| | uid | string | Cluster unique ID of module | -| architecture | string | Module was compiled under this architecture | | author | string | Module creator | | bigstore_version_2_support | boolean (default: false) | Whether the module supports bigstore_version_2 capability, bypassing capability validation (optional) | | capabilities | array of strings | List of capabilities supported by this module | @@ -30,7 +29,6 @@ Represents a [Redis module]({{< relref "/operate/oss_and_stack/stack-with-enterp | email | string | Author's email address | | homepage | string | Module's homepage | | license | string | Module is distributed under this license | -| min_redis_pack_version | string | Minimum Redis Enterprise Software cluster version required by this module | | min_redis_version | string | Minimum Redis database version required by this module. Only relevant for Redis databases earlier than v7.4. | | module_file | string | Module filename | | module_name | string | Module's name | diff --git a/content/operate/rs/references/rest-api/objects/node.md b/content/operate/rs/references/rest-api/objects/node.md index 7704911a4c..98c0e5cf9b 100644 --- a/content/operate/rs/references/rest-api/objects/node.md +++ b/content/operate/rs/references/rest-api/objects/node.md @@ -20,7 +20,7 @@ An API object that represents a node in the cluster. | architecture | string | Hardware architecture (read-only) | | bigredis_storage_path | string | Flash storage path (read-only) | | bigstore_driver | 'ibm-capi-ga1'
'ibm-capi-ga2'
'ibm-capi-ga4'
'speedb'
'rocksdb' | Bigstore driver name or none (deprecated as of Redis Enterprise v7.2, use the [cluster object]({{< relref "/operate/rs/references/rest-api/objects/cluster" >}})'s `bigstore_driver` instead) | -| bigstore_enabled | boolean | If `true`, then flash storage is enabled on this node for [Auto Tiering]({{}}) databases. Configurable during [bootstrapping]({{}}). After bootstrapping, it is read-only. | +| bigstore_enabled | boolean | If `true`, then flash storage is enabled on this node for [Redis Flex and Auto Tiering]({{}}) databases. Configurable during [bootstrapping]({{}}). After bootstrapping, it is read-only. | | bigstore_size | integer | Storage size of bigstore storage (read-only) | | cores | integer | Total number of CPU cores (read-only) | | ephemeral_storage_path | string | Ephemeral storage path (read-only) | diff --git a/content/operate/rs/references/rest-api/objects/user.md b/content/operate/rs/references/rest-api/objects/user.md index 150b046699..62278759e1 100644 --- a/content/operate/rs/references/rest-api/objects/user.md +++ b/content/operate/rs/references/rest-api/objects/user.md @@ -14,17 +14,18 @@ weight: $weight |------|------------|-------------| | uid | integer | User's unique ID | | account_id | integer | SM account ID | -| action_uid | string | Action UID. If it exists, progress can be tracked by the `GET` `/actions/{uid}` API request (read-only) | +| action_uid | string | Action UID. If it exists, progress can be tracked by the `GET /actions/{uid}` API request (read-only) | | auth_method | **'regular'**
'certificate'
'entraid' | User's authentication method | | bdbs_email_alerts | complex object | UIDs of databases that user will receive alerts for | -| certificate_subject_line | string | The certificate’s subject line as defined by RFC2253. Used for certificate-based authentication users only. | +| certificate_subject_line | string | The certificate’s subject line as defined by RFC2253. Used for certificate-based authentication users only. | | cluster_email_alerts | boolean | Activate cluster email alerts for a user | | email | string | User's email (pattern matching only ASCII characters) | -| email_alerts | boolean (default: true) | Activate email alerts for a user | +| email_alerts | boolean (default: true) | Activate email alerts for a user | +| last_login | integer | UNIX timestamp of the user's last login time. This denotes the last time an authentication with the user's credentials was successful. (read-only) | | name | string | User's name (pattern does not allow non-ASCII and special characters &,\<,>,") | -| password | string | User's password. If `password_hash_method` is set to `1`, the password should be hashed using SHA-256. The format before hashing is `username:clustername:password`. | -| password_hash_method | '1' | Used when password is passed pre-hashed to specify the hashing method | -| password_issue_date | string | The date in which the password was set (read-only) | +| password | string | User's password. If `password_hash_method` is set to `1`, the password should be hashed using SHA-256. The format before hashing is `username:clustername:password`. | +| password_hash_method | '1' | Used when password is passed pre-hashed to specify the hashing method | +| password_issue_date | string | The date in which the password was set (read-only) | | role | 'admin'
'cluster_member'
'cluster_viewer'
'db_member'
**'db_viewer'**
'user_manager'
'none' | User's [role]({{< relref "/operate/rs/references/rest-api/permissions#roles" >}}) | | role_uids | array of integers | UIDs of user's roles for role-based access control | | status | 'active'
'locked'
'password_expired' | User sign-in status (read-only)
**active**: able to sign in
**locked**: unable to sign in
**password_expired**: unable to sign in because the password expired | diff --git a/content/operate/rs/references/rest-api/permissions.md b/content/operate/rs/references/rest-api/permissions.md index dfa8a690a2..639a9cba4e 100644 --- a/content/operate/rs/references/rest-api/permissions.md +++ b/content/operate/rs/references/rest-api/permissions.md @@ -34,9 +34,9 @@ Available management roles include: | Role | Permissions | |------|-------------| | none | No permissions | -| admin | [add_cluster_module](#add_cluster_module), [cancel_cluster_action](#cancel_cluster_action), [cancel_node_action](#cancel_node_action), [config_ldap](#config_ldap), [config_ocsp](#config_ocsp), [create_bdb](#create_bdb), [create_crdb](#create_crdb), [create_ldap_mapping](#create_ldap_mapping), [create_new_user](#create_new_user), [create_redis_acl](#create_redis_acl), [create_role](#create_role), [delete_bdb](#delete_bdb), [delete_cluster_module](#delete_cluster_module), [delete_crdb](#delete_crdb), [delete_ldap_mapping](#delete_ldap_mapping), [delete_redis_acl](#delete_redis_acl), [delete_role](#delete_role), [delete_user](#delete_user), [edit_bdb_module](#edit_bdb_module), [failover_shard](#failover_shard), [flush_crdb](#flush_crdb), [install_new_license](#install_new_license), [migrate_shard](#migrate_shard), [purge_instance](#purge_instance), [reset_bdb_current_backup_status](#reset_bdb_current_backup_status), [reset_bdb_current_export_status](#reset_bdb_current_export_status), [reset_bdb_current_import_status](#reset_bdb_current_import_status), [start_bdb_export](#start_bdb_export), [start_bdb_import](#start_bdb_import), [start_bdb_recovery](#start_bdb_recovery), [start_cluster_action](#start_cluster_action), [start_node_action](#start_node_action), [test_ocsp_status](#test_ocsp_status), [update_bdb](#update_bdb), [update_bdb_alerts](#update_bdb_alerts), [update_bdb_with_action](#update_bdb_with_action), [update_cluster](#update_cluster), [update_crdb](#update_crdb), [update_ldap_mapping](#update_ldap_mapping), [update_node](#update_node), [update_proxy](#update_proxy), [update_redis_acl](#update_redis_acl), [update_role](#update_role), [update_user](#update_user), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_ldap_mappings_info](#view_all_ldap_mappings_info), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_all_users_info](#view_all_users_info), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_keys](#view_cluster_keys), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_debugging_info](#view_debugging_info), [view_endpoint_stats](#view_endpoint_stats), [view_ldap_config](#view_ldap_config), [view_ldap_mapping_info](#view_ldap_mapping_info), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_ocsp_config](#view_ocsp_config), [view_ocsp_status](#view_ocsp_status), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action), [view_user_info](#view_user_info) | -| cluster_member | [create_bdb](#create_bdb), [create_crdb](#create_crdb), [delete_bdb](#delete_bdb), [delete_crdb](#delete_crdb), [edit_bdb_module](#edit_bdb_module), [failover_shard](#failover_shard), [flush_crdb](#flush_crdb), [migrate_shard](#migrate_shard), [purge_instance](#purge_instance), [reset_bdb_current_backup_status](#reset_bdb_current_backup_status), [reset_bdb_current_export_status](#reset_bdb_current_export_status), [reset_bdb_current_import_status](#reset_bdb_current_import_status), [start_bdb_export](#start_bdb_export), [start_bdb_import](#start_bdb_import), [start_bdb_recovery](#start_bdb_recovery), [update_bdb](#update_bdb), [update_bdb_alerts](#update_bdb_alerts), [update_bdb_with_action](#update_bdb_with_action), [update_crdb](#update_crdb), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_keys](#view_cluster_keys), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_debugging_info](#view_debugging_info), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | -| cluster_viewer | [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | +| admin | [add_cluster_module](#add_cluster_module), [cancel_cluster_action](#cancel_cluster_action), [cancel_node_action](#cancel_node_action), [config_ldap](#config_ldap), [config_ocsp](#config_ocsp), [create_bdb](#create_bdb), [create_crdb](#create_crdb), [create_ldap_mapping](#create_ldap_mapping), [create_new_user](#create_new_user), [create_redis_acl](#create_redis_acl), [create_role](#create_role), [delete_bdb](#delete_bdb), [delete_cluster_module](#delete_cluster_module), [delete_crdb](#delete_crdb), [delete_ldap_mapping](#delete_ldap_mapping), [delete_redis_acl](#delete_redis_acl), [delete_role](#delete_role), [delete_user](#delete_user), [edit_bdb_module](#edit_bdb_module), [failover_shard](#failover_shard), [flush_crdb](#flush_crdb), [install_new_license](#install_new_license), [manage_cluster_modules](#manage_cluster_modules), [migrate_shard](#migrate_shard), [purge_instance](#purge_instance), [reset_bdb_current_backup_status](#reset_bdb_current_backup_status), [reset_bdb_current_export_status](#reset_bdb_current_export_status), [reset_bdb_current_import_status](#reset_bdb_current_import_status), [start_bdb_export](#start_bdb_export), [start_bdb_import](#start_bdb_import), [start_bdb_recovery](#start_bdb_recovery), [start_cluster_action](#start_cluster_action), [start_node_action](#start_node_action), [test_ocsp_status](#test_ocsp_status), [update_bdb](#update_bdb), [update_bdb_alerts](#update_bdb_alerts), [update_bdb_with_action](#update_bdb_with_action), [update_cluster](#update_cluster), [update_crdb](#update_crdb), [update_ldap_mapping](#update_ldap_mapping), [update_node](#update_node), [update_proxy](#update_proxy), [update_redis_acl](#update_redis_acl), [update_role](#update_role), [update_user](#update_user), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_ldap_mappings_info](#view_all_ldap_mappings_info), [view_all_metrics](#view_all_metrics), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_all_users_info](#view_all_users_info), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_keys](#view_cluster_keys), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_debugging_info](#view_debugging_info), [view_endpoint_stats](#view_endpoint_stats), [view_ldap_config](#view_ldap_config), [view_ldap_mapping_info](#view_ldap_mapping_info), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_ocsp_config](#view_ocsp_config), [view_ocsp_status](#view_ocsp_status), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action), [view_user_info](#view_user_info) | +| cluster_member | [create_bdb](#create_bdb), [create_crdb](#create_crdb), [delete_bdb](#delete_bdb), [delete_crdb](#delete_crdb), [edit_bdb_module](#edit_bdb_module), [failover_shard](#failover_shard), [flush_crdb](#flush_crdb), [migrate_shard](#migrate_shard), [purge_instance](#purge_instance), [reset_bdb_current_backup_status](#reset_bdb_current_backup_status), [reset_bdb_current_export_status](#reset_bdb_current_export_status), [reset_bdb_current_import_status](#reset_bdb_current_import_status), [start_bdb_export](#start_bdb_export), [start_bdb_import](#start_bdb_import), [start_bdb_recovery](#start_bdb_recovery), [update_bdb](#update_bdb), [update_bdb_alerts](#update_bdb_alerts), [update_bdb_with_action](#update_bdb_with_action), [update_crdb](#update_crdb), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_metrics](#view_all_metrics), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_keys](#view_cluster_keys), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_debugging_info](#view_debugging_info), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | +| cluster_viewer | [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_metrics](#view_all_metrics), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | | db_member | [create_bdb](#create_bdb), [create_crdb](#create_crdb), [delete_bdb](#delete_bdb), [delete_crdb](#delete_crdb), [edit_bdb_module](#edit_bdb_module), [failover_shard](#failover_shard), [flush_crdb](#flush_crdb), [migrate_shard](#migrate_shard), [purge_instance](#purge_instance), [reset_bdb_current_backup_status](#reset_bdb_current_backup_status), [reset_bdb_current_export_status](#reset_bdb_current_export_status), [reset_bdb_current_import_status](#reset_bdb_current_import_status), [start_bdb_export](#start_bdb_export), [start_bdb_import](#start_bdb_import), [start_bdb_recovery](#start_bdb_recovery), [update_bdb](#update_bdb), [update_bdb_alerts](#update_bdb_alerts), [update_bdb_with_action](#update_bdb_with_action), [update_crdb](#update_crdb), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_debugging_info](#view_debugging_info), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | | db_viewer | [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_nodes_alerts](#view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_recovery_plan](#view_bdb_recovery_plan), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_endpoint_stats](#view_endpoint_stats), [view_license](#view_license), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action) | | user_manager | [config_ldap](#config_ldap), [create_ldap_mapping](#create_ldap_mapping), [create_new_user](#create_new_user), [create_role](#create_role), [create_redis_acl](#create_redis_acl), [delete_ldap_mapping](#delete_ldap_mapping), [delete_redis_acl](#delete_redis_acl), [delete_role](#delete_role), [delete_user](#delete_user), [install_new_license](#install_new_license), [update_ldap_mapping](#update_ldap_mapping), [update_proxy](#update_proxy), [update_role](#update_role), [update_redis_acl](#update_redis_acl), [update_user](#update_user), [view_all_bdb_stats](#view_all_bdb_stats), [view_all_bdbs_alerts](#view_all_bdbs_alerts), [view_all_bdbs_info](#view_all_bdbs_info), [view_all_ldap_mappings_info](#view_all_ldap_mappings_info), [view_all_nodes_alerts](view_all_nodes_alerts), [view_all_nodes_checks](#view_all_nodes_checks), [view_all_nodes_info](#view_all_nodes_info), [view_all_nodes_stats](#view_all_nodes_stats), [view_all_proxies_info](#view_all_proxies_info), [view_all_redis_acls_info](#view_all_redis_acls_info), [view_all_roles_info](#view_all_roles_info), [view_all_shard_stats](#view_all_shard_stats), [view_all_users_info](#view_all_users_info), [view_bdb_alerts](#view_bdb_alerts), [view_bdb_info](#view_bdb_info), [view_bdb_stats](#view_bdb_stats), [view_cluster_alerts](#view_cluster_alerts), [view_cluster_info](#view_cluster_info), [view_cluster_keys](#view_cluster_keys), [view_cluster_modules](#view_cluster_modules), [view_cluster_stats](#view_cluster_stats), [view_crdb](#view_crdb), [view_crdb_list](#view_crdb_list), [view_crdb_task](#view_crdb_task), [view_crdb_task_list](#view_crdb_task_list), [view_endpoint_stats](#view_endpoint_stats), [view_ldap_config](#view_ldap_config), [view_ldap_mapping_info](#view_ldap_mapping_info), [view_license](#view_license), [view_logged_events](#view_logged_events), [view_node_alerts](#view_node_alerts), [view_node_check](#view_node_check), [view_node_info](#view_node_info), [view_node_stats](#view_node_stats), [view_proxy_info](#view_proxy_info), [view_redis_acl_info](#view_redis_acl_info), [view_redis_pass](#view_redis_pass), [view_role_info](#view_role_info), [view_shard_stats](#view_shard_stats), [view_status_of_all_node_actions](#view_status_of_all_node_actions), [view_status_of_cluster_action](#view_status_of_cluster_action), [view_status_of_node_action](#view_status_of_node_action), [view_user_info](#view_user_info) @@ -68,6 +68,7 @@ Available management roles include: | failover_shard | admin
cluster_member
db_member | | flush_crdb | admin
cluster_member
db_member | | install_new_license | admin
user_manager | +| manage_cluster_modules | admin | | migrate_shard | admin
cluster_member
db_member | | purge_instance | admin
cluster_member
db_member | | reset_bdb_current_backup_status | admin
cluster_member
db_member | @@ -94,6 +95,7 @@ Available management roles include: | view_all_bdbs_alerts | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | | view_all_bdbs_info | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | | view_all_ldap_mappings_info | admin
user_manager | +| view_all_metrics | admin
cluster_member
cluster_viewer | | view_all_nodes_alerts | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | | view_all_nodes_checks | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | | view_all_nodes_info | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | 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 679a9e5f6c..8c8798f60e 100644 --- a/content/operate/rs/references/rest-api/requests/bdbs/_index.md +++ b/content/operate/rs/references/rest-api/requests/bdbs/_index.md @@ -38,12 +38,20 @@ Get all databases in the cluster. ### Request {#get-all-request} -#### Example HTTP request +#### Example HTTP requests + +The following request returns the unique IDs and names of all databases: ```sh GET /v1/bdbs?fields=uid,name ``` +The following request returns all fields for the databases, including configuration fields for modules like search, probabilistic, and timeseries: + +```sh +GET /v1/bdbs?extended=true +``` + #### Headers | Key | Value | @@ -56,6 +64,7 @@ GET /v1/bdbs?fields=uid,name | Field | Type | Description | |-------|------|-------------| | fields | string | Comma-separated list of field names to return (by default all fields are returned). (optional) | +| extended | boolean | If true, includes configuration fields for modules, such as search, timeseries, and probabilistic, in the response. If the `extended` query parameter is not included in the request, module configuration fields do not appear in the response. (optional) | ### Response {#get-all-response} @@ -128,12 +137,20 @@ Get a single database. ### Request {#get-request} -#### Example HTTP request +#### Example HTTP requests + +The following request returns all fields for the specified database, except for module configuration fields: ```sh GET /v1/bdbs/1 ``` +The following request returns all fields for the specified database, including configuration fields for modules like search, probabilistic, and timeseries: + +```sh +GET /v1/bdbs/1?extended=true +``` + #### Headers | Key | Value | @@ -154,6 +171,7 @@ GET /v1/bdbs/1 | Field | Type | Description | |-------|------|-------------| | fields | string | Comma-separated list of field names to return (by default all fields are returned). (optional) | +| extended | boolean | If true, includes configuration fields for modules, such as search, timeseries, and probabilistic, in the response. If the `extended` query parameter is not included in the request, module configuration fields do not appear in the response. (optional) | ### Response {#get-response} diff --git a/content/operate/rs/references/rest-api/requests/bdbs/availability.md b/content/operate/rs/references/rest-api/requests/bdbs/availability.md index 9b39f84360..14e2ca5696 100644 --- a/content/operate/rs/references/rest-api/requests/bdbs/availability.md +++ b/content/operate/rs/references/rest-api/requests/bdbs/availability.md @@ -32,12 +32,26 @@ Verifies the local database endpoint is available. This request does not redirec ### Request {#get-endpoint-request} -#### Example HTTP request +#### Example HTTP requests + +To check database endpoint availability without any additional checks: ```sh GET /v1/local/bdbs/1/endpoint/availability ``` +To perform a lag-aware database endpoint availability check using the cluster's default lag tolerance threshold: + +```sh +GET /v1/local/bdbs/1/endpoint/availability?extend_check=lag +``` + +To perform a lag-aware database endpoint availability check and override the cluster's default lag tolerance threshold: + +```sh +GET /v1/local/bdbs/1/endpoint/availability?extend_check=lag&availability_lag_tolerance_ms=100 +``` + #### Headers | Key | Value | Description | @@ -51,6 +65,13 @@ GET /v1/local/bdbs/1/endpoint/availability |-------|------|-------------| | uid | integer | The unique ID of the database. | +#### Query parameters + +| Field | Type | Description | +|-------|------|-------------| +| extend_check | list of comma-separated strings | List of additional availability checks to perform (optional)
Values:
**lag**: Enables lag-aware checks to assess replication health. Determines if a replica is sufficiently synced with the primary for failover/failback scenarios. | +| availability_lag_tolerance_ms | integer | Overrides the cluster's default lag tolerance threshold when using `extend_check=lag`. Recommended value: 100 milliseconds. | + ### Response {#get-endpoint-response} Returns the status code `200 OK` if the local database endpoint is available. @@ -74,6 +95,8 @@ The following are possible `error_code` values: | Code | Description | |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Database endpoint is available. | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Invalid schema. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Database not found. | | [503 Service Unavailable](https://www.rfc-editor.org/rfc/rfc9110.html#name-503-service-unavailable) | Database endpoint is unavailable. | @@ -97,12 +120,27 @@ Gets the availability status of a database. ### Request {#get-db-request} -#### Example HTTP request +#### Example HTTP requests + + +To check database availability without any additional checks: ```sh GET /v1/bdbs/1/availability ``` +To perform a lag-aware database availability check using the cluster's default lag tolerance threshold: + +```sh +GET /v1/bdbs/1/availability?extend_check=lag +``` + +To perform a lag-aware database availability check and override the cluster's default lag tolerance threshold: + +```sh +GET /v1/bdbs/1/availability?extend_check=lag&availability_lag_tolerance_ms=100 +``` + #### Headers | Key | Value | Description | @@ -116,6 +154,13 @@ GET /v1/bdbs/1/availability |-------|------|-------------| | uid | integer | The unique ID of the database. | +#### Query parameters + +| Field | Type | Description | +|-------|------|-------------| +| extend_check | list of comma-separated strings | List of additional availability checks to perform (optional)
Values:
**lag**: Enables lag-aware checks to assess replication health. Determines if a replica is sufficiently synced with the primary for failover/failback scenarios. | +| availability_lag_tolerance_ms | integer | Overrides the cluster's default lag tolerance threshold when using `extend_check=lag`. Recommended value: 100 milliseconds. | + ### Response {#get-db-response} Returns the status code `200 OK` if the database is available. @@ -139,4 +184,6 @@ The following are possible `error_code` values: | Code | Description | |------|-------------| | [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Database is available. | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Invalid schema. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Database not found. | | [503 Service Unavailable](https://www.rfc-editor.org/rfc/rfc9110.html#name-503-service-unavailable) | Database is unavailable or doesn't have quorum. | diff --git a/content/operate/rs/references/rest-api/requests/bdbs/upgrade.md b/content/operate/rs/references/rest-api/requests/bdbs/upgrade.md index 3761fa5494..18e7db9db9 100644 --- a/content/operate/rs/references/rest-api/requests/bdbs/upgrade.md +++ b/content/operate/rs/references/rest-api/requests/bdbs/upgrade.md @@ -9,6 +9,7 @@ description: Database upgrade requests headerRange: '[1-2]' linkTitle: upgrade weight: $weight +aliases: /operate/rs/references/rest-api/requests/modules/upgrade/ --- | Method | Path | Description | diff --git a/content/operate/rs/references/rest-api/requests/cluster/actions.md b/content/operate/rs/references/rest-api/requests/cluster/actions.md index c58f3ad998..30a154d3c6 100644 --- a/content/operate/rs/references/rest-api/requests/cluster/actions.md +++ b/content/operate/rs/references/rest-api/requests/cluster/actions.md @@ -54,12 +54,12 @@ Returns a JSON array of [action objects]({{< relref "/operate/rs/references/rest } ``` -### Status codes {#get-all-status-codes} +### Status codes {#get-all-status-codes} | 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 cluster action {#get-cluster-action} @@ -99,12 +99,12 @@ Returns an [action object]({{< relref "/operate/rs/references/rest-api/objects/a } ``` -### Status codes {#get-status-codes} +### Status codes {#get-status-codes} | 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). | ## Initiate cluster-wide action {#post-cluster-action} @@ -153,13 +153,15 @@ Supported cluster actions: The body content may provide additional action details. Currently, it is not used. -### Status codes {#post-status-codes} +### Status codes {#post-status-codes} | Code | Description | |------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error, action was initiated. | -| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Bad action or content provided. | -| [409 Conflict](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.10) | A conflicting action is already in progress. | +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error, action was initiated. | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad action or content provided. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Node does not exist. | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | Node not bootstrapped. | +| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | A conflicting action is already in progress. | ## Cancel action {#delete-cluster-action} @@ -190,9 +192,9 @@ a previously executed and completed action. Returns a status code. -### Status codes {#delete-status-codes} +### Status codes {#delete-status-codes} | Code | Description | |------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Action will be cancelled when possible. | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Action unknown or not currently running. | +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Action will be cancelled when possible. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Action unknown or not currently running. | diff --git a/content/operate/rs/references/rest-api/requests/modules/_index.md b/content/operate/rs/references/rest-api/requests/modules/_index.md index a6b7725423..f7de54fb89 100644 --- a/content/operate/rs/references/rest-api/requests/modules/_index.md +++ b/content/operate/rs/references/rest-api/requests/modules/_index.md @@ -16,10 +16,6 @@ weight: $weight |--------|------|-------------| | [GET](#list-modules) | `/v1/modules` | List available modules | | [GET](#get-module) | `/v1/modules/{uid}` | Get a specific module | -| [POST](#post-module) | `/v1/modules` | Upload a new module (deprecated) | -| [POST](#post-module-v2) | `/v2/modules` | Upload a new module | -| [DELETE](#delete-module) | `/v1/modules/{uid}` | Delete a module (deprecated) | -| [DELETE](#delete-module-v2) | `/v2/modules/{uid}` | Delete a module | ## List modules {#list-modules} @@ -105,307 +101,3 @@ Returns a [module object]({{< relref "/operate/rs/references/rest-api/objects/mo |------|-------------| | [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | No error | | [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Module does not exist. | - -## Upload module v1 {#post-module} - -```sh -POST /v1/modules -``` - -{{}} -`POST /v1/modules` is deprecated as of Redis Enterprise Software version 7.2. Use [`POST /v2/modules`](#post-module-v2) instead. -{{}} - -Uploads a new module to the cluster. - -The request must contain a Redis module, bundled using [RedisModule -Packer](https://github.com/RedisLabs/RAMP). For modules in Redis Stack, download the module from the [download center](https://redis.io/downloads/). - -See [Install a module on a cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster#rest-api-method" >}}) for more information. - -#### Permissions - -| Permission name | Roles | -|-----------------|-------| -| [update_cluster]({{< relref "/operate/rs/references/rest-api/permissions#update_cluster" >}}) | admin | - -### Request {#post-request} - -#### Example HTTP request - -```sh -POST /v1/modules -``` - -#### Headers - -| Key | Value | Description | -|-----|-------|-------------| -| Host | string | Domain name | -| Accept | \*/\* | Accepted media type | -| Content-Length | integer | Length of the request body in octets | -| Expect | 100-continue | Requires particular server behaviors | -| Content-Type | multipart/form-data | Media type of request/response body | - -### Response {#post-response} - -Returns a status code. If an error occurs, the response body may include an error code and message with more details. - -#### Error codes {#post-error-codes} - -The server may return a JSON object with `error_code` and `message` fields that provide additional information. The following are possible `error_code` values: - -| Code | Description | -|------|-------------| -| no_module | Module wasn't provided or could not be found | -| invalid_module | Module either corrupted or packaged files are wrong | -| module_exists | Module already in system | -| min_redis_pack_version | Module isn't supported yet in this Redis pack | -| unsupported_module_capabilities | The module does not support required capabilities| -| os_not_supported | This module is not supported for this operating system | -| dependencies_not_supported | This endpoint does not support dependencies, see v2 | - -#### Status codes {#post-status-codes} - -| Code | Description | -|------|-------------| -| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Either missing module file or an invalid module file. | - -### Examples - -#### cURL - -```sh -$ curl -k -u "[username]:[password]" -X POST - -F "module=@/tmp/rejson.Linux-ubuntu18.04-x86_64.2.0.8.zip" - https://[host][:port]/v1/modules -``` - -#### Python - -```python -import requests - -url = "https://[host][:port]/v1/modules" - -files=[ - ('module', - ('rejson.Linux-ubuntu18.04-x86_64.2.0.8.zip', - open('/tmp/rejson.Linux-ubuntu18.04-x86_64.2.0.8.zip','rb'), - 'application/zip') - ) -] -auth=("[username]", "[password]") - -response = requests.request("POST", url, - auth=auth, files=files, verify=False) - -print(response.text) -``` - -## Upload module v2 {#post-module-v2} - -```sh -POST /v2/modules -``` - -Asynchronously uploads a new module to the cluster. - -The request must contain a Redis module bundled using [RedisModule Packer](https://github.com/RedisLabs/RAMP). - -For modules in Redis Stack, download the module from the [download center](https://redis.io/downloads/). See [Install a module on a cluster]({{< relref "/operate/oss_and_stack/stack-with-enterprise/install/add-module-to-cluster#rest-api-method" >}}) for more information. - -#### Permissions - -| Permission name | Roles | -|-----------------|-------| -| [update_cluster]({{< relref "/operate/rs/references/rest-api/permissions#update_cluster" >}}) | admin | - -### Request {#post-request-v2} - -#### Example HTTP request - -```sh -POST /v2/modules -``` - -#### Headers - -| Key | Value | Description | -|-----|-------|-------------| -| Host | string| Domain name | -| Accept | \*/\* | Accepted media type | -| Content-Length | integer | Length of the request body in octets | -| Expect | 100-continue | Requires particular server behaviors | -| Content-Type | multipart/form-data; | Media type of request/response body | - -### Response {#post-response-v2} - -Returns a [module object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}) with an additional `action_uid` field. - -You can use the `action_uid` to track the progress of the module upload. - -#### Example JSON body - -```json -{ - "action_uid":"dfc0152c-8449-4b1c-9184-480ea7cb526c", - "author":"RedisLabs", - "capabilities":[ - "types", - "crdb", - "failover_migrate", - "persistence_aof", - "persistence_rdb", - "clustering", - "backup_restore" - ], - "command_line_args":"Plugin gears_python CreateVenv 1", - "config_command":"RG.CONFIGSET", - "dependencies":{ - "gears_jvm":{ - "sha256":"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9", - "url":"http://example.com/redisgears_plugins/jvm_plugin/gears-jvm.linux-centos7-x64.0.1.0.tgz" - }, - "gears_python":{ - "sha256":"22dca9cd75484cb15b8130db37f5284e22e3759002154361f72f6d2db46ee682", - "url":"http://example.com/redisgears-python.linux-centos7-x64.1.2.1.tgz" - } - }, - "description":"Dynamic execution framework for your Redis data", - "display_name":"RedisGears", - "email":"user@example.com", - "homepage":"http://redisgears.io", - "is_bundled":false, - "license":"Redis Source Available License Agreement", - "min_redis_pack_version":"6.0.0", - "min_redis_version":"6.0.0", - "module_name":"rg", - "semantic_version":"1.2.1", - "sha256":"2935ea53611803c8acf0015253c5ae1cd81391bbacb23e14598841e1edd8d28b", - "uid":"98f255d5d33704c8e4e97897fd92e32d", - "version":10201 -} -``` - -### Error codes {#post-error-codes-v2} - -The server may return a JSON object with `error_code` and `message` fields that provide additional information. - -Possible `error_code` values include [`/v1/modules` error codes](#post-error-codes) and the following: - -| Code | Description | -|------|-------------| -| invalid_dependency_data | Provided dependencies have an unexpected format | - -### Status codes {#post-status-codes-v2} - -| Code | Description | -|------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Success, scheduled module upload. | -| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Module name or version does not exist. | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Dependency not found. | -| [500 Internal Server Error](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1) | Failed to get dependency. | - -## Delete module v1 {#delete-module} - -```sh -DELETE /v1/modules/{string: uid} -``` - -{{}} -`DELETE /v1/modules` is deprecated as of Redis Enterprise Software version 7.2. Use [`DELETE /v2/modules`](#delete-module-v2) instead. -{{}} - -Delete a module. - -#### Permissions - -| Permission name | Roles | -|-----------------|-------| -| [update_cluster]({{< relref "/operate/rs/references/rest-api/permissions#update_cluster" >}}) | admin | - -### Request {#delete-request} - -#### Example HTTP request - -```sh -DELETE /v1/modules/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 module's unique ID. | - -### Response {#delete-response} - -Returns a status code to indicate module deletion success or failure. - -#### Error codes {#delete-error-codes} - -| Code | Description | -|------|-------------| -| dependencies_not_supported | You can use the following API endpoint to delete this module with its dependencies: [`/v2/modules/`](#delete-module-v2) | - -#### Status codes {#delete-status-codes} - -| Code | Description | -|------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Success, the module is deleted. | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Attempting to delete a nonexistent module. | -| [406 Not Acceptable](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7) | The request is not acceptable. | - -## Delete module v2 {#delete-module-v2} - -```sh -DELETE /v2/modules/{string: uid} -``` - -Delete a module. - -#### Permissions - -| Permission name | Roles | -|-----------------|-------| -| [update_cluster]({{< relref "/operate/rs/references/rest-api/permissions#update_cluster" >}}) | admin | - -### Request {#delete-request-v2} - -#### Example HTTP request - -```sh -DELETE /v2/modules/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 module's unique ID. | - -### Response {#delete-response-v2} - -Returns a JSON object with an `action_uid` that allows you to track the progress of module deletion. - -#### Status codes {#delete-status-codes-v2} - -| Code | Description | -|------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Success, scheduled module deletion. | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | Attempting to delete a nonexistent module. | diff --git a/content/operate/rs/references/rest-api/requests/modules/upgrade.md b/content/operate/rs/references/rest-api/requests/modules/upgrade.md deleted file mode 100644 index 39880ac4a5..0000000000 --- a/content/operate/rs/references/rest-api/requests/modules/upgrade.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -Title: Upgrade module requests -alwaysopen: false -categories: -- docs -- operate -- rs -description: Upgrade module requests -headerRange: '[1-2]' -linkTitle: upgrade/bdb -weight: $weight ---- - -| Method | Path | Description | -|--------|------|-------------| -| [POST](#post-modules-upgrade-bdb) | `/v1/modules/upgrade/bdb/{uid}` | Upgrade module | - -## Upgrade module {#post-modules-upgrade-bdb} - - POST /v1/modules/upgrade/bdb/{string: uid} - -Upgrades the module version on a specific database. Deprecated as of Redis Enterprise Software v7.8.2. Use [`POST /v1/bdbs//upgrade`]({{}}) instead. - -#### Required permissions - -| Permission name | -|-----------------| -| [edit_bdb_module]({{< relref "/operate/rs/references/rest-api/permissions#edit_bdb_module" >}}) | - -### Request {#post-request} - -#### Example HTTP request - - POST /v1/modules/upgrade/bdb/1 - -#### Example JSON body - -```json -{ - "modules": [ - {"module_name": "ReJson", - "current_semantic_version": "2.2.1", - "new_module": "aa3648d79bd4082d414587c42ea0b234"} - ], - "// Optional fields to fine-tune restart and failover behavior:", - "preserve_roles": true, - "may_discard_data": false -} -``` - -#### Request headers - -| Key | Value | Description | -|-----|-------|-------------| -| Host | cnm.cluster.fqdn | Domain name | -| Accept | application/json | Accepted media type | - - -#### Request body - -| Field | Type | Description | -|-------|------|-------------| -| modules | list | List of dicts representing the modules that will be upgraded. Each dict must include:

• **current_module**: UID of a module to upgrade

• **new_module**: UID of the module we want to upgrade to

• **new_module_args**: args list for the new module | -| preserve_roles | boolean | Preserve shards’ master/replica roles (optional) | -| may_discard_data | boolean | Discard data in a non-replicated non-persistent database (optional) | - -### Response {#post-response} - -Returns the upgraded [module object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}). - -#### Example JSON body - -```json -{ - "uid": 1, - "name": "name of database #1", - "module_id": "aa3648d79bd4082d414587c42ea0b234", - "module_name": "ReJson", - "semantic_version": "2.2.2" - "// additional fields..." -} -``` - -### Error codes {#post-error-codes} - -When errors are reported, the server may return a JSON object with `error_code` and `message` field that provide additional information. The following are possible `error_code` values: - -| Code | Description | -|------|-------------| -| missing_module | Module is not present in cluster.| -| module_downgrade_unsupported | Module downgrade is not allowed.| -| redis_incompatible_version | Module min_redis_version is bigger than the current Redis version.| -| redis_pack_incompatible_version | Module min_redis_pack_version is bigger than the current Redis Enterprise version.| -| unsupported_module_capabilities | New version of module does support all the capabilities needed for the database configuration| - -### Status codes {#post-status-codes} - -| Code | Description | -|------|-------------| -| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Success, module updated on bdb. | -| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | bdb or node not found. | -| [400 Bad Request](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1) | Bad or missing configuration parameters. | -| [406 Not Acceptable](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7) | The requested configuration is invalid. | diff --git a/content/operate/rs/references/rest-api/requests/modules/user-defined.md b/content/operate/rs/references/rest-api/requests/modules/user-defined.md new file mode 100644 index 0000000000..8994409faf --- /dev/null +++ b/content/operate/rs/references/rest-api/requests/modules/user-defined.md @@ -0,0 +1,303 @@ +--- +Title: User-defined module requests +alwaysopen: false +categories: +- docs +- operate +- rs +description: Custom, user-defined Redis module requests +headerRange: '[1-2]' +linkTitle: user-defined +weight: $weight +--- + +| Method | Path | Description | +|--------|------|-------------| +| [GET](#get-local-user-defined-artifacts) | /v2/local/modules/user-defined/artifacts | List custom module artifacts on a node | +| [POST](#post-user-defined-module) | /v2/modules/user-defined | Upload custom module configuration | +| [POST](#post-local-user-defined-artifacts) | /v2/local/modules/user-defined/artifacts | Upload a custom module artifact to a node | +| [DELETE](#delete-user-defined-module) | /v2/modules/user-defined/ | Delete a custom module configuration | +| [DELETE](#delete-local-user-defined-artifacts) | /v2/local/modules/user-defined/artifacts// | Delete a custom module artifact from a node | + +## List custom module artifacts {#get-local-user-defined-artifacts} + +```sh +GET /v2/local/modules/user-defined/artifacts +``` + +Returns a list of all custom module artifacts on the local node. + +#### Permissions + +| Permission name | Roles | +|-----------------|-------| +| [view_cluster_modules]({{< relref "/operate/rs/references/rest-api/permissions#view_cluster_modules" >}}) | admin
cluster_member
cluster_viewer
db_member
db_viewer
user_manager | + +### Request {#get-local-artifacts-request} + +#### Example HTTP request + +```sh +GET /v2/local/modules/user-defined/artifacts +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | \*/\* | Accepted media type | + +### Response {#get-local-artifacts-response} + +Returns a JSON array of custom module artifacts. + +#### Example JSON body + +```json +[ + { + "module_name": "TestModule", + "version": 123, + "dependencies": [ + "dep_1", + "dep_2" + ] + } +] +``` + +### Status codes {#get-local-artifacts-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, returns list of artifacts | + +## Upload custom module configuration {#post-user-defined-module} + +```sh +POST /v2/modules/user-defined +``` + +Creates a module object in the cluster configuration store (CCS). After calling this endpoint, you still need to upload the module's `.so` file to each node by calling [`POST /v2/local/modules/user-defined/artifacts`](#post-local-user-defined-artifacts) on each node. + +#### Permissions + +| Permission name | Roles | +|-----------------|-------| +| [manage_cluster_modules]({{< relref "/operate/rs/references/rest-api/permissions#manage_cluster_modules" >}}) | admin | + +### Request {#post-user-defined-request} + +#### Example HTTP request + +```sh +POST /v2/modules/user-defined +``` + +#### Example JSON body + +```json +{ + "module_name": "TestModule", + "version": 1, + "semantic_version": "0.0.1", + "display_name": "test module", + "commands": [ + { + "command_arity": -1, + "command_name": "json.arrtrim", + "first_key": 1, + "flags": ["write"], + "last_key": 1, + "step": 1 + } + ], + "command_line_args": "", + "capabilities": ["list", "of", "capabilities"], + "min_redis_version": "2.1" +} +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +#### Request body + +The request body is a JSON object that must contain the following fields: + +| Field | Type | Description | +|-------|------|-------------| +| module_name | string | Name of the module | +| version | integer | Module version number | +| semantic_version | string | Module's semantic version | +| display_name | string | Display name for the module | +| commands | array of objects | List of commands provided by the module | +| command_line_args | string | Command line arguments for the module | +| capabilities | array of strings | List of capabilities supported by the module | +| min_redis_version | string | Minimum Redis version required | + +### Response {#post-user-defined-response} + +Returns a [module object]({{< relref "/operate/rs/references/rest-api/objects/module" >}}). + +#### Example JSON body + +```json +{ + "author": "author name", + "uid": "1952fcf9a5109fb59e61b1ad4d7e2d88" + // additional fields... +} +``` + +### Status codes {#post-user-defined-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, the module was created in the CCS. | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | There was an issue with the module object, such as missing required fields or invalid values. | + +## Upload custom module artifact to a node {#post-local-user-defined-artifacts} + +```sh +POST /v2/local/modules/user-defined/artifacts +``` + +A local API to upload a custom module's artifact to the current node. You must call this API on each cluster node. + +#### Permissions + +| Permission name | Roles | +|-----------------|-------| +| [manage_cluster_modules]({{< relref "/operate/rs/references/rest-api/permissions#manage_cluster_modules" >}}) | admin | + +### Request {#post-local-artifacts-request} + +#### Example HTTP request + +```sh +POST /v2/local/modules/user-defined/artifacts +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | 127.0.0.1:9443 | Domain name | +| Accept | \*/\* | Accepted media type | +| Content-Length | 865 | Length of the request body in octets | +| Expect | 100-continue | Requires particular server behaviors | +| Content-Type | multipart/form-data; boundary=------------------------4751ac3b332ace13 | Media type of request/response body | + +### Response {#post-local-artifacts-response} + +Returns a status code to indicate upload success or failure. + +### Status codes {#post-local-artifacts-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, module artifact uploaded to local node | +| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Missing or bad artifact | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | There was an issue with the module object artifact, such as bad metadata | + +## Delete custom module {#delete-user-defined-module} + +```sh +DELETE /v2/modules/user-defined/{string: uid} +``` + +Delete a module object from the cluster configuration store (CCS). This REST API request does not delete the module artifact from the nodes, so you also need to call [`DELETE /v2/local/modules/user-defined/artifacts//`](#delete-local-user-defined-artifacts) on each node. + +#### Permissions + +| Permission name | Roles | +|-----------------|-------| +| [manage_cluster_modules]({{< relref "/operate/rs/references/rest-api/permissions#manage_cluster_modules" >}}) | admin | + +### Request {#delete-user-defined-request} + +#### Example HTTP request + +```sh +DELETE /v2/modules/user-defined/1 +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +#### URL parameters + +| Field | Type | Description | +|-------|------|-------------| +| uid | string | The module's unique ID | + +### Response {#delete-user-defined-response} + +Returns a status code to indicate module deletion success or failure. + +### Status codes {#delete-user-defined-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, the module is deleted. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Attempting to delete a non-existing module. | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | The request is not acceptable. | + + +## Delete custom module artifact from a node{#delete-local-user-defined-artifacts} + +```sh +DELETE /v2/local/modules/user-defined/artifacts/{string: module_name}/{int: version} +``` + +A local API to delete a custom module's artifact from the current node. You must call this API on each cluster node. + +#### Permissions + +| Permission name | Roles | +|-----------------|-------| +| [manage_cluster_modules]({{< relref "/operate/rs/references/rest-api/permissions#manage_cluster_modules" >}}) | admin | + +### Request {#delete-local-artifacts-request} + +#### Example HTTP request + +```sh +DELETE /v2/local/modules/user-defined/artifacts/some-custom-module/123 +``` + +#### Headers + +| Key | Value | Description | +|-----|-------|-------------| +| Host | cnm.cluster.fqdn | Domain name | +| Accept | application/json | Accepted media type | + +#### URL parameters + +| Field | Type | Description | +|-------|------|-------------| +| module_name | string | The name of the module artifact to delete | +| version | integer | The version of the module artifact to delete | + +### Response {#delete-local-artifacts-response} + +Returns a status code to indicate deletion success or failure. + +### Status codes {#delete-local-artifacts-status-codes} + +| Code | Description | +|------|-------------| +| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | Success, the module artifact is deleted from the local node. | +| [404 Not Found](https://www.rfc-editor.org/rfc/rfc9110.html#name-404-not-found) | Attempting to delete a non-existing module. | +| [406 Not Acceptable](https://www.rfc-editor.org/rfc/rfc9110.html#name-406-not-acceptable) | The request is not acceptable. | diff --git a/content/operate/rs/release-notes/legacy-release-notes/rlec-4-3-aug-2016.md b/content/operate/rs/release-notes/legacy-release-notes/rlec-4-3-aug-2016.md index 84dd2f08a3..3f98d82b5d 100644 --- a/content/operate/rs/release-notes/legacy-release-notes/rlec-4-3-aug-2016.md +++ b/content/operate/rs/release-notes/legacy-release-notes/rlec-4-3-aug-2016.md @@ -23,7 +23,7 @@ upgrade to this version. - Various improvements to internal performance and stability were implemented. - RLEC Flash functionality added. For additional details, refer to - [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) + [Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) and contact if you are interested in this functionality. - Support for Redis version 3.0 added. When you install or upgrade the diff --git a/content/operate/rs/release-notes/legacy-release-notes/rs-5-6-0-april-2020.md b/content/operate/rs/release-notes/legacy-release-notes/rs-5-6-0-april-2020.md index a792f448e2..131afaa50b 100644 --- a/content/operate/rs/release-notes/legacy-release-notes/rs-5-6-0-april-2020.md +++ b/content/operate/rs/release-notes/legacy-release-notes/rs-5-6-0-april-2020.md @@ -62,7 +62,7 @@ For more information, check out the [HyperLogLog on Active-Active documentation] ### RedisJSON on Auto Tiering -RS 5.6.0 adds support for [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}}) databases with [Redis Modules](https://docs.redis.com/latest/modules). [RedisJSON]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json" >}}) is the first module to be available to run on a database with Auto Tiering enabled. +RS 5.6.0 adds support for [Auto Tiering]({{< relref "/operate/rs/databases/flash/" >}}) databases with [Redis Modules](https://docs.redis.com/latest/modules). [RedisJSON]({{< relref "/operate/oss_and_stack/stack-with-enterprise/json" >}}) is the first module to be available to run on a database with Auto Tiering enabled. Using RedisJSON on Auto Tiering allows you to benefit from high performance redis with high data volume at lower costs. diff --git a/content/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52.md b/content/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52.md index ba54f4b515..8f1816b857 100644 --- a/content/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52.md +++ b/content/operate/rs/release-notes/rs-7-2-4-releases/rs-7-2-4-52.md @@ -103,9 +103,9 @@ To switch existing databases to use Speedb for Auto Tiering and improve performa For more information about Auto Tiering, see: -- [Auto Tiering overview]({{< relref "/operate/rs/databases/auto-tiering" >}}) +- [Auto Tiering overview]({{< relref "/operate/rs/databases/flash" >}}) -- [Auto Tiering quick start]({{< relref "/operate/rs/databases/auto-tiering/quickstart" >}}) +- [Auto Tiering quick start]({{< relref "/operate/rs/databases/flash/quickstart" >}}) #### RESP3 support diff --git a/content/operate/rs/release-notes/rs-8-0-releases/_index.md b/content/operate/rs/release-notes/rs-8-0-releases/_index.md new file mode 100644 index 0000000000..b988ad37f4 --- /dev/null +++ b/content/operate/rs/release-notes/rs-8-0-releases/_index.md @@ -0,0 +1,182 @@ +--- +Title: Redis Enterprise Software release notes 8.0.x +alwaysopen: false +categories: +- docs +- operate +- rs +compatibleOSSVersion: Redis 8.2, 8.0, 7.4, 7.2, 6.2 +description: Redis Open Source 8.0 and 8.2 features. Lag-aware availability API. Redis Flex GA. Metrics stream engine GA. Module management enhancements. New REST API fields for database and cluster configuration. +hideListLinks: true +linkTitle: 8.0.x releases +toc: 'true' +weight: 67 +--- + +​[​Redis Enterprise Software version 8.0](https://redis.io/downloads/#Redis_Software) is now available! + +## Highlights + +This version offers: + +- Redis Open Source 8.0 and 8.2 features + +- Lag-aware availability API + +- Redis Flex GA + +- Metrics stream engine GA + +- Module management enhancements + +- New REST API fields for database and cluster configuration + +## Detailed release notes + +For more detailed release notes, select a build version from the following table: + +{{}} + +## Version changes + +- [`POST /v1/cluster/actions/change_master`]({{}}) REST API requests will no longer allow a node that exists but is not finished bootstrapping to become the primary node. Such requests will now return the status code `406 Not Acceptable`. + +- Node status now returns the actual provisional RAM and flash values even when the maximum number of shards on the node (`max_redis_servers`) is reached. Previously, the API returned 0 for `provisional_ram_of_node` and `provisional_flash_of_node` when a node reached its shard limit. This change affects REST API node status requests and the `rladmin status nodes` command's output. + +### Breaking changes + +### Redis database version 8 breaking changes {#redis-8-breaking-changes} + +When new major versions of Redis Open Source change existing commands, upgrading your database to a new version can potentially break some functionality. Before you upgrade, read the provided list of breaking changes that affect Redis Software and update any applications that connect to your database to handle these changes. + +#### ACL behavior changes + +Before Redis 8, the existing [ACL]({{}}) categories `@read`, `@write`, `@dangerous`, `@admin`, `@slow`, and `@fast` did not include commands for the Redis Query Engine and the JSON, time series, and probabilistic data structures. + +Starting with Redis 8, Redis includes all Query Engine, JSON, time series, Bloom filter, cuckoo filter, top-k, count-min sketch, and t-digest commands in these existing ACL categories. + +As a result: + +- Existing ACL rules such as `+@read +@write` will allow access to more commands than in previous versions of Redis. Here are some examples: + + - A user with `+@read` access will be able to execute `FT.SEARCH`. + + - A user with `+@write` access will be able to execute `JSON.SET`. + +- ACL rules such as `+@all -@write` will allow access to fewer commands than previous versions of Redis. + + - For example, a user with `+@all -@write` will not be able to execute `JSON.SET`. + + - Explicit inclusion of new [command categories]({{}}) is required to maintain access. The new categories are: `@search`, `@json`, `@timeseries`, `@bloom`, `@cuckoo`, `@topk`, `@cms`, and `@tdigest`. + +- ACL rules such as `+@read +JSON.GET` can now be simplified as `+@read` because `JSON.GET` is included in the `@read` category. + +Note that the `@all` category did not change, as it always included all the commands. + +#### Redis Query Engine changes + +The following changes affect behavior and validation in the Redis Query Engine: + +- Enforces validation for `LIMIT` arguments (offset must be 0 if limit is 0). + +- Enforces parsing rules for `FT.CURSOR READ` and `FT.ALIASADD`. + +- Parentheses are now required for exponentiation precedence in `APPLY` expressions. + +- Invalid input now returns errors instead of empty results. + +- Default values revisited for reducers like `AVG`, `COUNT`, `SUM`, `STDDEV`, `QUANTILE`, and others. + +- Updates to scoring (`BM25` is now the default instead of `TF-IDF`). + +- Improved handling of expired records, memory constraints, and malformed fields. + +### Deprecations + +#### API deprecations + +- Deprecated the `policy` field for [bootstrap]({{}}) REST API requests. Use [`PUT /v1/cluster/policy`]({{< relref "/operate/rs/references/rest-api/requests/cluster/policy#put-cluster-policy" >}}) to change cluster policies after cluster creation instead. + +- Deprecated the `module_args` field for [database]({{}}) REST API requests. Use the new module configuration objects `search`, `timeseries`, and `probabilistic` instead. + +#### Redis Query Engine deprecations + +- Deprecated commands: `FT.ADD`, `FT.SAFEADD`, `FT.DEL`, `FT.GET`, `FT.MGET`, `FT.SYNADD`, `FT.DROP`, `FT._DROPIFX`, and `FT.CONFIG`. + +- Deprecated `FT.SEARCH` options: `GEOFILTER`, `FILTER`, and `NOSTOPWORDS`. + +- Deprecated vector search options: `INITIAL_CAP` and `BLOCK_SIZE`. + +- Deprecated configuration parameters: `WORKER_THREADS`, `MT_MODE`, `PRIVILEGED_THREADS_NUM`, and `GCSCANSIZE`. + +- Deprecated dialects: `DIALECT 1`, `DIALECT 3`, and `DIALECT 4`. + +#### 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. + +V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [this guide]({{}}) or use [new preconfigured dashboards]({{}}). + +As part of the transition to the metrics stream engine, some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan]({{}}) for guidance. + +### Supported platforms + +The following table provides a snapshot of supported platforms as of this Redis 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 | 8.0 | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Oct 2025 | May 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 | Oct 2027 | May 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. + +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. + +- RS155734: Endpoint availability metrics do not work as expected due to a calculation error. + +## Known limitations + +#### Rolling upgrade limitation for clusters with custom or deprecated modules + +Due to module handling changes introduced in Redis Enterprise Software version 8.0, upgrading a cluster that contains custom or deprecated modules, such as RedisGraph and RedisGears v2, can become stuck when adding a new node to the cluster during a rolling upgrade. + +#### Module commands limitation during Active-Active database upgrades to Redis 8.0 + +When upgrading an Active-Active database to Redis version 8.0, you cannot use module commands until all Active-Active database instances have been upgraded. Currently, these commands are not blocked automatically. + +#### 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. diff --git a/content/operate/rs/release-notes/rs-8-0-releases/rs-8-0-2-17.md b/content/operate/rs/release-notes/rs-8-0-releases/rs-8-0-2-17.md new file mode 100644 index 0000000000..18a075b1f6 --- /dev/null +++ b/content/operate/rs/release-notes/rs-8-0-releases/rs-8-0-2-17.md @@ -0,0 +1,644 @@ +--- +Title: Redis Enterprise Software release notes 8.0.2-17 (October 2025) +alwaysopen: false +categories: +- docs +- operate +- rs +compatibleOSSVersion: Redis 8.2, 8.0, 7.4, 7.2, 6.2 +description: Redis Open Source 8.0 and 8.2 features. Lag-aware availability API. Redis Flex GA. Metrics stream engine GA. Module management enhancements. New REST API fields for database and cluster configuration. +linkTitle: 8.0.2-17 (October 2025) +weight: 90 +--- + +​[​Redis Enterprise Software version 8.0.2](https://redis.io/downloads/#Redis_Software) is now available! + +## Highlights + +This version offers: + +- Redis Open Source 8.0 and 8.2 features + +- Lag-aware availability API + +- Redis Flex GA + +- Metrics stream engine GA + +- Module management enhancements + +- New REST API fields for database and cluster configuration + +## New in this release + +### New features + +#### Redis Open Source 8.0 and 8.2 features + +Redis Open Source 8.0 and 8.2 features are now available when you [create]({{}}) or [upgrade]({{}}) a database with database version 8.2. + +##### Redis Open Source 8.0 features and enhancements + +- Preview of a new [vector set]({{}}) data structure that supports high-dimensional vector similarity search, ideal for AI use cases such as semantic search and recommendation systems. + +- New hash commands [`HGETEX`]({{}}), [`HSETEX`]({{}}), and [`HGETDEL`]({{}}), which can simplify caching and session management patterns. + +- Enhanced access control lists (ACLs) to support new data structures introduced in Redis 8. + + - Existing ACL categories such as `@read` and `@write` now include commands for JSON, time series, vector, and probabilistic data structures. + + - New ACL categories: `@search`, `@json`, `@timeseries`, `@bloom`, `@cuckoo`, `@topk`, `@cms`, and `@tdigest`. + +- Redis Query Engine improvements. + +- Significant performance improvements, including: + + - Up to 87% lower command latency. + + - 35% memory savings for replica nodes. + + - 16x more query processing capacity with horizontal and vertical scaling. + +- See [What's new in Redis 8.0]({{}}) and [Redis Open Source 8.0 release notes]({{}}) for more details. + +##### Redis Open Source 8.2 features and enhancements + +- New Redis streams commands [`XDELEX`]({{}}) and [`XACKDEL`]({{}}) that simplify consumer group management and stream lifecycle operations. + +- New operators `DIFF`, `DIFF1`, `ANDOR`, and `ONE` for the [`BITOP`]({{}}) command, which enable more complex bitmap workflows and can simplify operations that previously required multiple commands. + +- New keyspace notification event types `OVERWRITTEN` and `TYPE_CHANGED` that provide better visibility into data changes. + +- Performance optimizations and memory efficiency improvements. + +- Redis Query Engine improvements: + + - New [SVS-VAMANA vector index]({{}}) type, which supports vector compression. + + - New `SHARD_K_RATIO` parameter for [K-nearest neighbor (KNN) vector queries]({{}}), which favors network latency over accuracy to provide faster responses when exact precision isn't critical. + +- See [What's new in Redis 8.2]({{}}) and [Redis Open Source 8.2 release notes]({{}}) for more details. + +#### Automatically enabled capabilities in Redis 8 + +Redis Enterprise Software databases created with or upgraded to Redis version 8 or later automatically enable the capabilities (modules) bundled with Redis Enterprise Software as follows: + +| Database type | Automatically enabled capabilities | +|---------------|------------------------------------| +| RAM-only | [Search and query]({{}})
[JSON]({{}})
[Time series]({{}})
[Probabilistic]({{}}) | +| Flash-enabled ([Redis Flex]({{}})) | [JSON]({{}})
[Probabilistic]({{}}) | +| [Active-Active]({{}}) | [Search and query]({{}})
[JSON]({{}}) | + +#### Lag-aware availability API + +The [database availability API]({{}}) now supports lag-aware availability checks that consider replication lag tolerance. + +You can reduce the risk of data inconsistencies during disaster recovery by incorporating lag-aware availability checks into your disaster recovery solution and ensuring failover-failback flows only occur when databases are accessible and sufficiently synchronized. + +The lag tolerance threshold is 100 milliseconds by default. Depending on factors such as workload, network conditions, and throughput, you might want to adjust the lag tolerance threshold using one of the following methods: + +- Change the default threshold for the entire cluster by setting `availability_lag_tolerance_ms` with an [update cluster]({{}}) request. + +- Override the default threshold by adding the `availability_lag_tolerance_ms` query parameter to specific lag-aware [availability checks]({{}}). For example: + + ```sh + GET /v1/bdbs//availability?extend_check=lag&availability_lag_tolerance_ms=100 + ``` + +For more details, see [Check database availability for monitoring and load balancers]({{}}). + +#### Redis Flex GA + +Redis Flex (Redis on Flash version 2) is now generally available for flash-enabled databases. Redis Flex is the enhanced successor to Auto Tiering (Redis on Flash version 1), which allows you to provision larger databases at a lower cost by extending the RAM with flash drives. + +- Databases created with Redis version 8.0 and later automatically use Redis Flex. + +- Databases with Redis version 7.4 can choose between Auto Tiering (`bigstore_version` 1) and Redis Flex (`bigstore_version` 2) + +- Databases with Redis versions earlier than 7.4 will continue to use Auto Tiering. + +For more information about Redis Flex, see: + +- [Redis Flex overview]({{< relref "/operate/rs/databases/flash" >}}) +- [Redis Flex quick start]({{< relref "/operate/rs/databases/flash/quickstart" >}}) + +#### Metrics stream engine GA + +The [metrics stream engine]({{}}) is now generally available: + +- The metrics stream engine's exporter-based infrastructure provides access to more accurate, real-time data. This enhanced, scalable monitoring system allows you to set up more effective alerts and respond to issues faster. + +- Exposes a new `/v2` Prometheus scraping endpoint that you can use to export metrics to external monitoring tools such as Grafana, DataDog, NewRelic, and Dynatrace. + +- Exports raw data instead of aggregated data to improve monitoring at scale and accuracy compared to v1 Prometheus metrics. + +- For a list of metrics exported by the metrics stream engine, see [Prometheus metrics v2]({{}}). + +- To transition to the metrics stream engine, either migrate your existing dashboards using [Prometheus v1 metrics and equivalent v2 PromQL]({{}}) or use [new preconfigured dashboards]({{}}). + +- As part of the transition to the metrics stream engine, some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan]({{}}) for guidance. + +- See [Best practices for monitoring]({{}}) for a list of recommended metrics to monitor. + +### Enhancements + +- Module management enhancements: + + - Operating system (OS) upgrades no longer require manually uploading module packages compiled for the target OS version to a node in the existing cluster. + + - Copying module packages to a node in the cluster before cluster recovery is no longer required. + + - Added new REST API requests to manage custom, user-defined modules. See [Custom module management APIs]({{}}) for details. + + - Added module configuration fields to the database configuration. Use `search`, `query_performance_factor`, `timeseries`, and `probabilistic` objects to configure Redis modules instead of the deprecated `module_args` field. These fields are visible in [`GET /v1/bdbs`]({{}}) requests only when using the `extended=true` query parameter. + + - Added `--update-db-config-modules` option to the [`crdb-cli crdb update`]({{}}) command to streamline updating module information in the CRDB configuration after upgrading modules used by Active-Active databases. Use this option only after all CRDB database instances have upgraded their modules. + + ```sh + crdb-cli crdb update --crdb-guid --update-db-config-modules true + ``` + +- Added a check to block new user creation after the maximum limit of 32,000 users has been reached: + + - Added a [cluster alert]({{}}) `cluster_users_count_approaches_limit`, which triggers when the number of users surpasses a threshold percentage of the maximum user limit. This alert is enabled with a 90% threshold by default on new clusters. + + - Added a `users_count` cluster metric to [Prometheus metrics v2]({{}}) that shows the current number of users on the cluster. + +- New [database configuration]({{}}) fields in the REST API for automatic shard balancing: + + - `auto_shards_balancing`: Automatically balances database shards. + + - `auto_shards_balancing_grace_period`: Time to wait before auto sharding is initiated. + + - `shard_imbalance_threshold`: Threshold for automatic shard balancing based on imbalance size. + + - `shard_imbalance_threshold_percentage`: Threshold for automatic shard balancing based on imbalance percentage. + +- Additional REST API enhancements: + + - New `last_login` field for [users]({{}}), which stores the UNIX timestamp of the user's last successful login to the Cluster Manager UI or REST API. + + - Added [cluster configuration]({{}}) fields: + + - `disconnect_clients_on_password_removal`: Controls whether client connections using removed, revoked, or rotated passwords are actively disconnected. + + - `replica_sconns_on_demand`: When enabled, the DMC stops holding persistent connections to replica shards and reduces the number of internode connections by half. + + - `metrics_auth`: If set to `true`, enables basic authentication for Prometheus exporters and restricts access to authenticated users with `admin`, `cluster_member`, or `cluster_viewer` [management roles]({{}}). + + - Added [database configuration]({{}}) fields: + + - `conns_global_maximum_dedicated`: Defines the maximum number of dedicated server connections for a database across all workers. + + - `conns_minimum_dedicated`: Defines the minimum number of dedicated server connections the DMC maintains per worker per shard. + + - `disconnect_clients_on_password_removal`: Controls whether client connections using removed, revoked, or rotated passwords are actively disconnected. + + - `link_sconn_on_full_request`: Feature flag for DMC behavior on linking client requests. + + - `partial_request_timeout_seconds`: Timeout for incomplete client commands that cause head-of-line blocking. + + - `preemptive_drain_timeout_seconds`: Timeout for preemptive drain of client connections before a shard is taken down. + + - `replica_sconns_on_demand`: When enabled, the DMC stops holding persistent connections to replica shards and reduces the number of internode connections by half. + + - `use_selective_flush`: Enables selective flush of destination shards. + +- Added action IDs to operation and state machine log entries. + +- Internal connections no longer generate `new_int_conn` audit records. + +- Improved control plane authentication handling for new clusters with a dedicated authentication service. + +- Improved handling of long-running read-only scripts to reduce unnecessary failovers. + +### Redis database versions + +Redis Enterprise Software version 8.0.2 includes five Redis database versions: 8.2, 8.0, 7.4, 7.2, and 6.2. + +The [default Redis database version]({{}}) is 8.2. + +### Redis feature sets + +Redis Enterprise Software includes multiple 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 | +|------------------------|--------------------------| +| 8.2 | RediSearch 8.2
RedisJSON 8.2
RedisTimeSeries 8.2
RedisBloom 8.2
See [What's new in Redis 8.2]({{}}) and [Redis Open Source 8.2 release notes]({{}}) | +| 8.0 | RediSearch 8.0
RedisJSON 8.0
RedisTimeSeries 8.0
RedisBloom 8.0
See [What's new in Redis 8.0]({{}}) and [Redis Open Source 8.0 release notes]({{}}) | +| 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" >}}) | + +### Resolved issues + +- RS156391: Fixed an issue where the `job_scheduler`'s memory usage could increase significantly when the diagnostic logging service was enabled. + +- RS132033: Fixed an issue where out-of-memory errors in the Lua interpreter prevented scripts from running Redis commands until the shard was restarted. This fix is included in Redis database version 7.2 and requires a database upgrade from earlier versions. + +- RS153192: Updated the installer's minimum RAM requirement to 8 GB. + +- RS159685: Fixed an issue with high DMC CPU usage after changing the primary node of a cluster that has Active-Active databases. + +- RS160546: Fixed an issue where `rladmin status extra all` did not show available RAM. + +- RS150592: Fixed an issue where connection errors were not automatically retried. + +- RS161945: Fixed an issue where state machine logs showed a generic state machine ID instead of the descriptive state machine name when creating a database from persistence. + +- RS160196: Fixed an issue where a node could be set as primary before completing the bootstrap process. + +- RS153736: Fixed an issue where the `PUBSUB SHARDNUMSUB` command would not respond when called without arguments if the OSS Cluster API was enabled. + +- RS163254: Fixed an issue where the policy update logs displayed inconsistent boolean value formats, mixing `enabled/disabled` and `True/False`. + +- RS158250: Fixed an issue with Active-Active databases with search enabled where replica shards could crash after migration to a new node. + +- RS164471: Fixed an issue where the script to generate self-signed certificates (generate_self_signed_certs.sh) failed on custom installations due to hard-coded file paths. + +- RS164218: Fixed an issue where Speedb log files were not properly rotated and archived, causing logs to accumulate and consume disk space. + +- RS162719: Fixed an issue where connection problems could prevent shards from restarting during failover and cause the failover process to become stuck. + +- RS161589: Changed the installer answers file parameter from `skip_updating_env_path` to `update_env_path` to improve clarity and accuracy. + +- RS161574: Fixed an issue where Active-Active database synchronization could fail when Lua scripts used certain read-only commands that accessed keys across multiple slots. + +- RS160347: Made optimizations to reduce the `heartbeatd` service's memory usage. + +- RS156394: Improved error messages when module commands are temporarily unavailable during cluster configuration changes. + +- RS154815: Improved diagnostic reporting for connection issues when the maximum number of transactions is reached. + +- RS147053: Fixed an issue where some `system_reserved_ports` were not displayed in the `rladmin info cluster` command output. + +- RS114668: Fixed an issue where setting `failure_detection_sensitivity` with the `bootstrap` API did not automatically update `watchdog_profile` accordingly. + +- RS163266: Fixed an issue where shard rebalancing could take excessive time when replicas were unresponsive due to high CPU load by reducing connection retry attempts from 300 to 5. + +- RS162524: Fixed an issue where the DNS backend could fail with "too many open files" errors due to socket leaks. + +- RS161547: Fixed an issue where nodes could fail to send messages related to state machines due to a timing issue between notification threads and management threads. + +- RS155990: Fixed an issue where the `forwarding_state` field was missing from the endpoint schema. + +- RS166307: Updated v2 Prometheus metric names to comply with naming conventions by changing the `proxy_` prefix to `endpoint_` for `connections_rate`, `rate_limit_ok`, `rate_limit_overflows`, `accepted_connections`, and `dispatch_failures`. + +- RS164703: Improved diagnostic reporting for shard restart operations by adding PID logging before shutdown. + +- RS152179: Reduced log noise by removing a harmless error message that appeared repeatedly in DMC proxy logs. + +- RS132087: Fixed inconsistent node status reports between `rladmin` and the REST API. + +- RS166878: Fixed legacy `module_args` mapping to handle boolean fields as `TRUE/FALSE` values instead of flags. + +- RS166825: Fixed an issue where the Sentinel service could become unresponsive while processing certain commands due to a timing issue. + +- RS162290: Fixed an issue where the node status API returned 0 instead of the actual provisional RAM and flash values if the node reached its shard limit. + +- RS158251: Added a check to block new user creation after the maximum limit of 32,000 users has been reached to prevent DMC proxy crashes. + +- RS166813: Fixed an issue where Lua incorrectly converted empty JSON arrays into empty JSON objects. + +- RS166683: Fixed an issue where `FT.DROPINDEX index DD` deleted indexed keys on the local Active-Active database instance but failed to sync the deletions to instances in other participating clusters. + +- RS162972: Fixed an issue where the REST API was only accessible from the primary node when certificate-based authentication was enabled. + +- RS158972: Fixed an issue where certificate verification failed during node join and replace operations when internode encryption was enabled, causing connection errors until certificates were fetched from the primary node. + +- RS123263: Fixed an issue where creating a new role with a specified UID failed with "A uid is already assigned" error. + +- RS120420: Fixed an issue where `rladmin cluster config` incorrectly included quotes as part of the cipher suite value when updating `control_cipher_suites` configuration. + +- RS170611: Fixed an issue where the `generate_self_signed_certs.sh` script incorrectly formatted wildcard certificate entries. + +- RS167849: Fixed an issue where `rlutil check` incorrectly reported that existing databases did not exist. + +- RS167199: Fixed an issue where the remove node action could become stuck during node decommissioning. + +- RS166990: Fixed an issue where install logs were not included in support packages when installation or upgrade operations failed. + +- RS166528: Improved error handling when verifying that a data file has been loaded. + +- RS162973: Fixed an issue with shard failover where the shard failed to restart because its port was not released quickly enough after it crashed. + +- RS166122: Fixed an issue where the actions API could incorrectly report state machine operations as running after they completed. + +- RS171579: Fixed an issue where the new UI incorrectly added `default_user: False` when the default_user field was absent, causing connection issues. + +## Version changes + +- [`POST /v1/cluster/actions/change_master`]({{}}) REST API requests will no longer allow a node that exists but is not finished bootstrapping to become the primary node. Such requests will now return the status code `406 Not Acceptable`. + +- Node status now returns the actual provisional RAM and flash values even when the maximum number of shards on the node (`max_redis_servers`) is reached. Previously, the API returned 0 for `provisional_ram_of_node` and `provisional_flash_of_node` when a node reached its shard limit. This change affects REST API node status requests and the `rladmin status nodes` command's output. + +### Breaking changes + +### Redis database version 8 breaking changes {#redis-8-breaking-changes} + +When new major versions of Redis Open Source change existing commands, upgrading your database to a new version can potentially break some functionality. Before you upgrade, read the provided list of breaking changes that affect Redis Software and update any applications that connect to your database to handle these changes. + +#### ACL behavior changes + +Before Redis 8, the existing [ACL]({{}}) categories `@read`, `@write`, `@dangerous`, `@admin`, `@slow`, and `@fast` did not include commands for the Redis Query Engine and the JSON, time series, and probabilistic data structures. + +Starting with Redis 8, Redis includes all Query Engine, JSON, time series, Bloom filter, cuckoo filter, top-k, count-min sketch, and t-digest commands in these existing ACL categories. + +As a result: + +- Existing ACL rules such as `+@read +@write` will allow access to more commands than in previous versions of Redis. Here are some examples: + + - A user with `+@read` access will be able to execute `FT.SEARCH`. + + - A user with `+@write` access will be able to execute `JSON.SET`. + +- ACL rules such as `+@all -@write` will allow access to fewer commands than previous versions of Redis. + + - For example, a user with `+@all -@write` will not be able to execute `JSON.SET`. + + - Explicit inclusion of new [command categories]({{}}) is required to maintain access. The new categories are: `@search`, `@json`, `@timeseries`, `@bloom`, `@cuckoo`, `@topk`, `@cms`, and `@tdigest`. + +- ACL rules such as `+@read +JSON.GET` can now be simplified as `+@read` because `JSON.GET` is included in the `@read` category. + +Note that the `@all` category did not change, as it always included all the commands. + +#### Redis Query Engine changes + +The following changes affect behavior and validation in the Redis Query Engine: + +- Enforces validation for `LIMIT` arguments (offset must be 0 if limit is 0). + +- Enforces parsing rules for `FT.CURSOR READ` and `FT.ALIASADD`. + +- Parentheses are now required for exponentiation precedence in `APPLY` expressions. + +- Invalid input now returns errors instead of empty results. + +- Default values revisited for reducers like `AVG`, `COUNT`, `SUM`, `STDDEV`, `QUANTILE`, and others. + +- Updates to scoring (`BM25` is now the default instead of `TF-IDF`). + +- Improved handling of expired records, memory constraints, and malformed fields. + +### Deprecations + +#### API deprecations + +- Deprecated the `policy` field for [bootstrap]({{}}) REST API requests. Use [`PUT /v1/cluster/policy`]({{< relref "/operate/rs/references/rest-api/requests/cluster/policy#put-cluster-policy" >}}) to change cluster policies after cluster creation instead. + +- Deprecated the `module_args` field for [database]({{}}) REST API requests. Use the new module configuration objects `search`, `timeseries`, and `probabilistic` instead. + +#### Redis Query Engine deprecations + +- Deprecated commands: `FT.ADD`, `FT.SAFEADD`, `FT.DEL`, `FT.GET`, `FT.MGET`, `FT.SYNADD`, `FT.DROP`, `FT._DROPIFX`, and `FT.CONFIG`. + +- Deprecated `FT.SEARCH` options: `GEOFILTER`, `FILTER`, and `NOSTOPWORDS`. + +- Deprecated vector search options: `INITIAL_CAP` and `BLOCK_SIZE`. + +- Deprecated configuration parameters: `WORKER_THREADS`, `MT_MODE`, `PRIVILEGED_THREADS_NUM`, and `GCSCANSIZE`. + +- Deprecated dialects: `DIALECT 1`, `DIALECT 3`, and `DIALECT 4`. + +#### 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. + +V1 Prometheus metrics are deprecated but still available. To transition to the new metrics stream engine, either migrate your existing dashboards using [this guide]({{}}) or use [new preconfigured dashboards]({{}}). + +As part of the transition to the metrics stream engine, some internal cluster manager alerts were deprecated in favor of external monitoring solutions. See the [alerts transition plan]({{}}) for guidance. + +### 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 | 8.0 | 7.22 | 7.8 | 7.4 | 7.2 | 6.4 | 6.2 | +|---------------------------------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:| +| **Release date** | Oct 2025 | May 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 | Oct 2027 | May 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. + +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 (8.0.2-17 October release) | +|---------|---------------------------------------| +| Ubuntu 20 | 48671f14727daeb79a2e30d4f176ce2ed611641530f7f91fab4639572f7e33fc | +| Ubuntu 22 (amd64) | dd3f0fc0ac499f68b8bc155290e86ca1a6686f85312be1058ae3a05c46ec5558 | +| Ubuntu 22 (arm64) | 0fca0f5a365954fa062fd5b7304666bb147f1f6f63eea93b4d932faab4082edd | +| Red Hat Enterprise Linux (RHEL) 8 | f707a31101598a88c64fc2cd7eee7266d51ff0e1a90c768584f88e1459d158fc | +| Red Hat Enterprise Linux (RHEL) 9 | 00015c18a6734d243ae82c1046bd320cbb904b78912c9835d287b17d807c1161 | +| Amazon Linux 2 | aaeb4c71f6ee4883213909fcface49b442b2f1c536c244159dd5acc2cafed06e | + +## 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. + +- RS155734: Endpoint availability metrics do not work as expected due to a calculation error. + +## Known limitations + +#### Rolling upgrade limitation for clusters with custom or deprecated modules + +Due to module handling changes introduced in Redis Enterprise Software version 8.0, upgrading a cluster that contains custom or deprecated modules, such as RedisGraph and RedisGears v2, can become stuck when adding a new node to the cluster during a rolling upgrade. + +#### Module commands limitation during Active-Active database upgrades to Redis 8.0 + +When upgrading an Active-Active database to Redis version 8.0, you cannot use module commands until all Active-Active database instances have been upgraded. Currently, these commands are not blocked automatically. + +#### 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. + +## Security + +#### Redis Open Source 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 [Redis Open Source](https://github.com/redis/redis). Redis Enterprise Software has already included the fixes for the relevant CVEs. + +Some CVEs announced for Redis Open Source do not affect Redis Enterprise Software due to different or additional functionality available in Redis Enterprise Software that is not available in Redis Open Source. + +Redis Enterprise Software 8.0.2-17 supports Redis Open Source 8.2, 8.0, 7.4, 7.2, and 6.2. Below is the list of Redis Open Source CVEs fixed by version. + +Redis 8.2.x: + +- (CVE-2025-46818) An authenticated user may use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. + +- (CVE-2025-46819) An authenticated user may use a specially crafted LUA script to read out-of-bound data or crash the server and lead to subsequent denial of service. + +- (CVE-2025-46817) An authenticated user may use a specially crafted Lua script to cause an integer overflow and potentially lead to remote code execution. + +- (CVE-2025-49844) An authenticated user may use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free, and potentially lead to remote code execution. + +Redis 8.0.x: + +- (CVE-2025-46818) An authenticated user may use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. + +- (CVE-2025-46819) An authenticated user may use a specially crafted LUA script to read out-of-bound data or crash the server and lead to subsequent denial of service. + +- (CVE-2025-46817) An authenticated user may use a specially crafted Lua script to cause an integer overflow and potentially lead to remote code execution. + +- (CVE-2025-49844) An authenticated user may use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free, and potentially lead to remote code execution. + +Redis 7.4.x: + +- (CVE-2025-46818) An authenticated user may use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. + +- (CVE-2025-46819) An authenticated user may use a specially crafted LUA script to read out-of-bound data or crash the server and lead to subsequent denial of service. + +- (CVE-2025-46817) An authenticated user may use a specially crafted Lua script to cause an integer overflow and potentially lead to remote code execution. + +- (CVE-2025-49844) An authenticated user may use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free, and potentially lead to remote code execution. + +- (CVE-2025-32023) An authenticated user can use a specially crafted string to trigger a stack/heap out-of-bounds write on HyperLogLog operations, which can lead to remote code execution. + +- (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-46818) An authenticated user may use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. + +- (CVE-2025-46819) An authenticated user may use a specially crafted LUA script to read out-of-bound data or crash the server and lead to subsequent denial of service. + +- (CVE-2025-46817) An authenticated user may use a specially crafted Lua script to cause an integer overflow and potentially lead to remote code execution. + +- (CVE-2025-49844) An authenticated user may use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free, and potentially lead to remote code execution. + +- (CVE-2025-32023) An authenticated user can use a specially crafted string to trigger a stack/heap out-of-bounds write on HyperLogLog operations, which can lead to remote code execution. + +- (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. + +- (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-2025-46818) An authenticated user may use a specially crafted Lua script to manipulate different LUA objects and potentially run their own code in the context of another user. + +- (CVE-2025-46819) An authenticated user may use a specially crafted LUA script to read out-of-bound data or crash the server and lead to subsequent denial of service. + +- (CVE-2025-46817) An authenticated user may use a specially crafted Lua script to cause an integer overflow and potentially lead to remote code execution. + +- (CVE-2025-49844) An authenticated user may use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free, and potentially lead to remote code execution. + +- (CVE-2025-32023) An authenticated user can use a specially crafted string to trigger a stack/heap out-of-bounds write on HyperLogLog operations, which can lead to remote code execution. + +- (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. + +- (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) diff --git a/content/operate/rs/security/access-control/redis-acl-overview.md b/content/operate/rs/security/access-control/redis-acl-overview.md index 770b55ba48..70bf4769ea 100644 --- a/content/operate/rs/security/access-control/redis-acl-overview.md +++ b/content/operate/rs/security/access-control/redis-acl-overview.md @@ -38,7 +38,7 @@ The following example allows all `read` commands and the `SET` command: +@read +SET ``` -Module commands have several ACL limitations: +For database versions earlier than Redis 8.2, module commands have several ACL limitations: - [Redis modules]({{< relref "/operate/oss_and_stack/stack-with-enterprise" >}}) do not have command categories. diff --git a/layouts/shortcodes/inline-icon.html b/layouts/shortcodes/inline-icon.html new file mode 100644 index 0000000000..17c8f966ab --- /dev/null +++ b/layouts/shortcodes/inline-icon.html @@ -0,0 +1,13 @@ +{{ $fname := .Get "filename" | strings.TrimLeft "/" }} +{{ $cleanFname := $fname | strings.TrimSuffix "#no-click" }} +{{ $noClick := strings.HasSuffix $fname "#no-click" }} +{{ if not (hasPrefix $cleanFname "/") }} + {{ .Scratch.Set "file" (printf "/%s" $cleanFname) }} +{{ else }} + {{ .Scratch.Set "file" $cleanFname }} +{{ end }} +{{.}}