From ac4e7fdc9dc1800d346cf500483a69613b970b2b Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 24 Oct 2025 17:12:55 -0500 Subject: [PATCH 1/4] Upgrade A-A DB improvements --- .../upgrading/upgrade-active-active.md | 177 ++++++++++-------- 1 file changed, 100 insertions(+), 77 deletions(-) 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..5ef025f216 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md @@ -10,96 +10,99 @@ linkTitle: Active-Active databases weight: 70 --- -When you upgrade an [Active-Active (CRDB) database]({{< relref "/operate/rs/databases/active-active" >}}), you can also upgrade the CRDB protocol version and feature version. +## Upgrade an Active-Active database -## CRDB protocol version guidelines +To upgrade an [Active-Active (CRDB) database]({{< relref "/operate/rs/databases/active-active" >}}): -Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1 to help support Active-Active features. +1. [Upgrade Redis Enterprise Software]({{< relref "/operate/rs/installing-upgrading/upgrading/upgrade-cluster" >}}) on each node in the clusters where the Active-Active instances are located. -CRDB protocol version 1 is backward compatible, which means Redis Enterprise v5.4.2 CRDB instances can understand write operations from instances using the earlier CRDB protocol version 0. +1. [Check the status](#check-database-status) of all Active-Active database instances. -After you upgrade one instance's CRDB protocol to version 1: +1. [Upgrade all Active-Active database instances](#upgrade-database-instances) to a later version of Redis. -- Any instances that use CRDB protocol version 1 can receive updates from both version 1 and version 0 instances. +1. If the status indicates `OLD CRDB FEATURESET VERSION`, [upgrade the featureset version](#upgrade-featureset-version). -- However, instances that still use CRDB protocol version 0 cannot receive write updates from version 1 instances. +1. If your Active-Active database uses modules, [update module information](#update-module-information). -- After you upgrade an instance from CRDB protocol version 0 to version 1, it automatically receives any missing write operations. +## Check database status -Follow these upgrade guidelines: +To check the status of an Active-Active database instance, run [`rladmin status`]({{}}): -- Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances. +```sh + rladmin status +``` -- Make sure that you upgrade all instances of a specific CRDB before you do global operations on the CRDB, such as removing instances and adding new instances. +{{< image filename="/images/rs/crdb-upgrade-node.png" >}} -- As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version. +The statuses of the Active-Active instances on the node can indicate: -- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later. +- `OLD REDIS VERSION`: The database instance is running a Redis version that is outdated or not fully compatible with the current Redis Enterprise Software cluster version. You should upgrade the database to a later version of Redis bundled with the cluster's current Redis Enterprise Software version. -## Feature version guidelines +- `OLD CRDB PROTOCOL VERSION`: This instance uses an older CRDB protocol. Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1. See "CRDB protocol version guidelines". -Starting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features. +- `OLD CRDB FEATURESET VERSION`: The database feature set version is outdated. After all Active-Active instances are upgraded, update the feature set. -When you update the feature version for an Active-Active database, the feature version is updated for all database instances. - -Follow these upgrade guidelines: +## Upgrade database instances -- As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version. +For each Active-Active database instance: -- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later. +1. Upgrade the Redis database version, modules, and CRDB protocol version with [`rladmin upgrade db`]({{}}): -## Upgrade Active-Active database instance + ```sh + rladmin upgrade db + ``` -To upgrade an Active-Active database (CRDB) instance: +1. If the protocol version is old, read the warning message carefully and confirm. -1. [Upgrade Redis Enterprise Software]({{< relref "/operate/rs/installing-upgrading/upgrading/upgrade-cluster" >}}) on each node in the clusters where the Active-Active instances are located. + {{< image filename="/images/rs/crdb-upgrade-protocol.png" >}} -1. To see the status of your Active-Active instances, run: + The Active-Active instance uses the new Redis version and CRDB protocol version. - ```sh - rladmin status - ``` + Use the `keep_crdt_protocol_version` option to upgrade the database version without upgrading the CRDB protocol version. - The statuses of the Active-Active instances on the node can indicate: + If you use this option, make sure that you upgrade the CRDB protocol soon after with the [`rladmin upgrade db`]({{< relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db" >}}) command. - - `OLD REDIS VERSION` - - `OLD CRDB PROTOCOL VERSION` - - `OLD CRBD FEATURESET VERSION` + You must upgrade the CRDB protocol before you update the CRDB feature set version. - {{< image filename="/images/rs/crdb-upgrade-node.png" >}} +### CRDB protocol version guidelines -1. To upgrade each Active-Active instance and its modules, including the Redis version and CRDB protocol version, run: +Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1 to help support Active-Active features. - ```sh - rladmin upgrade db - ``` +CRDB protocol version 1 is backward compatible, which means Redis Enterprise v5.4.2 CRDB instances can understand write operations from instances using the earlier CRDB protocol version 0. - If the protocol version is old, read the warning message carefully and confirm. +After you upgrade one instance's CRDB protocol to version 1: - {{< image filename="/images/rs/crdb-upgrade-protocol.png" >}} +- Any instances that use CRDB protocol version 1 can receive updates from both version 1 and version 0 instances. - The Active-Active instance uses the new Redis version and CRDB protocol version. +- However, instances that still use CRDB protocol version 0 cannot receive write updates from version 1 instances. - Use the `keep_crdt_protocol_version` option to upgrade the database feature version -without upgrading the CRDB protocol version. +- After you upgrade an instance from CRDB protocol version 0 to version 1, it automatically receives any missing write operations. - If you use this option, make sure that you upgrade the CRDB protocol soon after with the [`rladmin upgrade db`]({{< relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db" >}}) command. +Follow these upgrade guidelines: - You must upgrade the CRDB protocol before you update the CRDB feature set version. +- Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances. -1. If the feature set version is old, you must upgrade all of the Active-Active instances. Then, to update the feature set for each active-active database, run: +- Make sure that you upgrade all instances of a specific CRDB before you do global operations on the CRDB, such as removing instances and adding new instances. - ```sh - crdb-cli crdb update --crdb-guid --featureset-version yes - ``` +- As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version. + +- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later. + +## Upgrade featureset version - You can retrieve the `` with the following command: +If the feature set version is old, as indicated by the `OLD CRDB FEATURESET VERSION` status: + +1. Upgrade all of the Active-Active database instances and make sure the CRDB protocol is not outdated. + +1. Find the `` of your Active-Active database. + + You can use [`crdb-cli crdb list`]({{}}) command: ```sh crdb-cli crdb list ``` - Look for the fully qualified domain name (CLUSTER-FDQN) of your cluster and use the associated GUID: + Look for the fully qualified domain name (`CLUSTER-FDQN`) of your cluster and use the associated `GUID`: ```sh CRDB-GUID NAME REPL-ID CLUSTER-FQDN @@ -107,36 +110,56 @@ 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 the feature set for each Active-Active database: ```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 --featureset-version yes ``` - For example: +### Feature version guidelines - ```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" - } - ]}' - ``` +Starting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features. + +When you update the feature version for an Active-Active database, the feature version is updated for all database instances. + +Follow these upgrade guidelines: + +- As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version. + +- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later. + +## Update module information + +If your Active-Active database uses modules, Update module information in the CRDB configuration using the following command syntax: + +```sh +crdb-cli crdb update --crdb-guid --default-db-config \ +'{ "module_list": + [ + { + "module_name": "", + "semantic_version": "" + }, + { + "module_name": "", + "semantic_version": "" + } + ]}' +``` + +For example: + +```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" + } + ]}' +``` From 629406b12557cbb3694565f184c5156c98346b6f Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Wed, 29 Oct 2025 14:24:24 -0500 Subject: [PATCH 2/4] DOC-5437 Copy edits and added in-page links to upgrade A-A DB --- .../upgrading/upgrade-active-active.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) 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 5ef025f216..d06a2130b6 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md @@ -5,7 +5,7 @@ categories: - docs - operate - rs -description: Upgrade an Active-Active database. +description: How to upgrade an Active-Active database. linkTitle: Active-Active databases weight: 70 --- @@ -36,33 +36,33 @@ To check the status of an Active-Active database instance, run [`rladmin status` The statuses of the Active-Active instances on the node can indicate: -- `OLD REDIS VERSION`: The database instance is running a Redis version that is outdated or not fully compatible with the current Redis Enterprise Software cluster version. You should upgrade the database to a later version of Redis bundled with the cluster's current Redis Enterprise Software version. +- `OLD REDIS VERSION`: The database instance is running a Redis version that is outdated or not fully compatible with the current Redis Enterprise Software cluster version. You should [upgrade the database](#upgrade-database-instances) to a later version of Redis bundled with the cluster's current Redis Enterprise Software version. -- `OLD CRDB PROTOCOL VERSION`: This instance uses an older CRDB protocol. Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1. See "CRDB protocol version guidelines". +- `OLD CRDB PROTOCOL VERSION`: This instance uses an older CRDB protocol. Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1. You can upgrade the CRDB protocol version when you [upgrade the Active-Active database instances](#upgrade-database-instances). See [CRDB protocol version guidelines](#crdb-protocol-version-guidelines) for more information. -- `OLD CRDB FEATURESET VERSION`: The database feature set version is outdated. After all Active-Active instances are upgraded, update the feature set. +- `OLD CRDB FEATURESET VERSION`: The database feature set version is outdated. After all [Active-Active database instances are upgraded](#upgrade-database-instances), [upgrade the feature set version](#upgrade-featureset-version). See [Feature version guidelines](#feature-version-guidelines) for more information. ## Upgrade database instances For each Active-Active database instance: -1. Upgrade the Redis database version, modules, and CRDB protocol version with [`rladmin upgrade db`]({{}}): +1. Upgrade the Redis database version and enabled modules with [`rladmin upgrade db`]({{}}): ```sh rladmin upgrade db ``` -1. If the protocol version is old, read the warning message carefully and confirm. +1. If the CRDB protocol version is old, read the warning message carefully and confirm that you want to update the CRDB protocol. See [CRDB protocol version guidelines](#crdb-protocol-version-guidelines) for more information. {{< image filename="/images/rs/crdb-upgrade-protocol.png" >}} - The Active-Active instance uses the new Redis version and CRDB protocol version. + After confirmation, the Active-Active instance will use the new Redis version and CRDB protocol version. - Use the `keep_crdt_protocol_version` option to upgrade the database version without upgrading the CRDB protocol version. + {{}} +You can use the `keep_crdt_protocol_version` option to upgrade the database version without upgrading the CRDB protocol version. However, you must upgrade the CRDB protocol before you update the CRDB feature set version. - If you use this option, make sure that you upgrade the CRDB protocol soon after with the [`rladmin upgrade db`]({{< relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db" >}}) command. - - You must upgrade the CRDB protocol before you update the CRDB feature set version. +If you use `keep_crdt_protocol_version`, make sure that you upgrade the CRDB protocol soon after with the [`rladmin upgrade db`]({{< relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db" >}}) command. + {{}} ### CRDB protocol version guidelines @@ -82,7 +82,7 @@ Follow these upgrade guidelines: - Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances. -- Make sure that you upgrade all instances of a specific CRDB before you do global operations on the CRDB, such as removing instances and adding new instances. +- Make sure that you upgrade all instances of a specific CRDB before you perform global operations on the CRDB, such as removing instances and adding new instances. - As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version. @@ -92,11 +92,11 @@ Follow these upgrade guidelines: If the feature set version is old, as indicated by the `OLD CRDB FEATURESET VERSION` status: -1. Upgrade all of the Active-Active database instances and make sure the CRDB protocol is not outdated. +1. [Upgrade all Active-Active database instances](#upgrade-database-instances) and make sure the CRDB protocol is not outdated. 1. Find the `` of your Active-Active database. - You can use [`crdb-cli crdb list`]({{}}) command: + You can use the [`crdb-cli crdb list`]({{}}) command: ```sh crdb-cli crdb list @@ -110,7 +110,7 @@ If the feature set version is old, as indicated by the `OLD CRDB FEATURESET VERS 700140c5-478e-49d7-ad3c-64d517ddc486 aatest 2 aatest2.example.com ``` -1. Update the feature set for each Active-Active database: +1. Update the feature set for each Active-Active database. See [Feature version guidelines](#feature-version-guidelines) for more information. ```sh crdb-cli crdb update --crdb-guid --featureset-version yes @@ -126,11 +126,11 @@ Follow these upgrade guidelines: - As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version. -- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later. +- To avoid upgrade failures, make sure all your Active-Active databases are configured with the latest feature set version before upgrading to Redis Enterprise Software 6.0.20 or later. ## Update module information -If your Active-Active database uses modules, Update module information in the CRDB configuration using the following command syntax: +If your Active-Active database uses modules, update module information in the CRDB configuration using the following command syntax: ```sh crdb-cli crdb update --crdb-guid --default-db-config \ From 838f4f2ab8a17f943b0f8753b06fd926a54859cf Mon Sep 17 00:00:00 2001 From: Rachel Elledge <86307637+rrelledge@users.noreply.github.com> Date: Wed, 29 Oct 2025 15:53:12 -0500 Subject: [PATCH 3/4] Fix rladmin status relref --- .../rs/installing-upgrading/upgrading/upgrade-active-active.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d06a2130b6..6ee4fb074c 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md @@ -26,7 +26,7 @@ To upgrade an [Active-Active (CRDB) database]({{< relref "/operate/rs/databases/ ## Check database status -To check the status of an Active-Active database instance, run [`rladmin status`]({{}}): +To check the status of an Active-Active database instance, run [`rladmin status`]({{}}): ```sh rladmin status From 1fbceb74900cbc4e01c1785340080ef54b9669a0 Mon Sep 17 00:00:00 2001 From: Rachel Elledge Date: Fri, 31 Oct 2025 12:16:14 -0500 Subject: [PATCH 4/4] DOC-5437 Feedback updates to clarify CRDB featureset and how to check if an A-A DB uses modules --- .../upgrading/upgrade-active-active.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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 99c90359a3..3acfae9ea6 100644 --- a/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md +++ b/content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md @@ -20,9 +20,13 @@ To upgrade an [Active-Active (CRDB) database]({{< relref "/operate/rs/databases/ 1. [Upgrade all Active-Active database instances](#upgrade-database-instances) to a later version of Redis. -1. If the status indicates `OLD CRDB FEATURESET VERSION`, [upgrade the featureset version](#upgrade-featureset-version). +1. If the status indicates `OLD CRDB FEATURESET VERSION`, [upgrade the featureset version](#upgrade-featureset-version). See [Feature version guidelines](#feature-version-guidelines) for more information. -1. If your Active-Active database uses modules, [update module information](#update-module-information). +1. If your Active-Active database uses modules, [update module information](#update-module-information). To check if your database uses modules, run [`rladmin status modules`]({{}}): + + ```sh + rladmin status modules db { db: | } + ``` ## Check database status @@ -49,7 +53,7 @@ For each Active-Active database instance: 1. Upgrade the Redis database version and enabled modules with [`rladmin upgrade db`]({{}}): ```sh - rladmin upgrade db + rladmin upgrade db { db: | } ``` 1. If the CRDB protocol version is old, read the warning message carefully and confirm that you want to update the CRDB protocol. See [CRDB protocol version guidelines](#crdb-protocol-version-guidelines) for more information. @@ -120,7 +124,7 @@ If the feature set version is old, as indicated by the `OLD CRDB FEATURESET VERS Starting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features. -When you update the feature version for an Active-Active database, the feature version is updated for all database instances. +The featureset version is an internal version of the Active-Active feature that enables new capabilities and improvements across participating Active-Active clusters. When you update the feature version for an Active-Active database, the feature version is updated for all database instances. Follow these upgrade guidelines: @@ -132,10 +136,10 @@ Follow these upgrade guidelines: If your Active-Active database uses modules: -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 syntax: ```sh - crdb-cli crdb update --crdb-guid --update-db-config-modules true + crdb-cli crdb update --crdb-guid --update-db-config-modules true ``` 1. `crdb-cli` will ask you to verify all Active-Active database instances and their modules have been updated before you enter `y` to continue: