{
  "id": "upgrade-active-active",
  "title": "Upgrade an Active-Active database",
  "url": "https://redis.io/docs/latest/operate/rs/7.8/installing-upgrading/upgrading/upgrade-active-active/",
  "summary": "Upgrade an Active-Active database.",
  "content": "\nWhen you upgrade an [Active-Active (CRDB) database](), you can also upgrade the CRDB protocol version and feature version.\n\n## CRDB protocol version guidelines\n\nRedis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1 to help support Active-Active features.\n\nCRDB 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.\n\nAfter you upgrade one instance's CRDB protocol to version 1:\n\n- Any instances that use CRDB protocol version 1 can receive updates from both version 1 and version 0 instances.\n\n- However, instances that still use CRDB protocol version 0 cannot receive write updates from version 1 instances.\n\n- After you upgrade an instance from CRDB protocol version 0 to version 1, it automatically receives any missing write operations.\n\nFollow these upgrade guidelines:\n\n- Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances.\n\n- 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.\n\n- As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version.\n\n- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.\n\n## Feature version guidelines\n\nStarting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features.\n\nWhen you update the feature version for an Active-Active database, the feature version is updated for all database instances.\n    \nFollow these upgrade guidelines:\n\n- As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version.\n\n- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.\n\n## Upgrade Active-Active database instance\n\nTo upgrade an Active-Active database (CRDB) instance:\n\n1. [Upgrade Redis Enterprise Software]() on each node in the clusters where the Active-Active instances are located.\n\n1. To see the status of your Active-Active instances, run: \n\n    ```sh\n    rladmin status\n    ```\n\n    The statuses of the Active-Active instances on the node can indicate:\n\n    - `OLD REDIS VERSION`\n    - `OLD CRDB PROTOCOL VERSION`\n    - `OLD CRBD FEATURESET VERSION`\n\n    \n\n1. To upgrade each Active-Active instance and its modules, including the Redis version and CRDB protocol version, run:\n\n    ```sh\n    rladmin upgrade db \u003cdatabase_name | database_ID\u003e\n    ```\n\n    If the protocol version is old, read the warning message carefully and confirm.\n\n    \n\n    The Active-Active instance uses the new Redis version and CRDB protocol version.\n\n    Use the `keep_crdt_protocol_version` option to upgrade the database feature version \nwithout upgrading the CRDB protocol version.\n\n    If you use this option, make sure that you upgrade the CRDB protocol soon after with the [`rladmin upgrade db`]() command.\n\n    You must upgrade the CRDB protocol before you update the CRDB feature set version.\n\n1. 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:\n\n    ```sh\n    crdb-cli crdb update --crdb-guid \u003cCRDB-GUID\u003e --featureset-version yes\n    ```\n\n    You can retrieve the `\u003cCRDB-GUID\u003e` with the following command:\n\n    ```sh\n    crdb-cli crdb list\n    ```\n\n    Look for the fully qualified domain name (CLUSTER-FQDN) of your cluster and use the associated GUID:\n\n    ```sh\n    CRDB-GUID                             NAME    REPL-ID  CLUSTER-FQDN\n    700140c5-478e-49d7-ad3c-64d517ddc486  aatest  1        aatest1.example.com\n    700140c5-478e-49d7-ad3c-64d517ddc486  aatest  2        aatest2.example.com\n    ```\n\n1. Update module information in the CRDB configuration using the following command syntax:\n\n    ```sh\n    crdb-cli crdb update --crdb-guid \u003cguid\u003e --default-db-config \\\n    '{ \"module_list\": \n      [\n        { \n          \"module_name\": \"\u003cmodule1_name\u003e\",\n          \"semantic_version\": \"\u003cmodule1_version\u003e\" \n        },\n        { \n          \"module_name\": \"\u003cmodule2_name\u003e\",\n          \"semantic_version\": \"\u003cmodule2_version\u003e\" \n        }\n      ]}'\n    ```\n\n    For example:\n\n    ```sh\n    crdb-cli crdb update --crdb-guid 82a80988-f5fe-4fa5-bca0-aef2a0fd60db --default-db-config \\\n    '{ \"module_list\": \n      [\n        {\n          \"module_name\": \"search\",\n          \"semantic_version\": \"2.4.6\"\n        },\n        {\n          \"module_name\": \"ReJSON\",\n          \"semantic_version\": \"2.4.5\"\n        }\n      ]}' \n    ```\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-04-01T08:10:08-05:00"
}

