Skip to content

Commit ac4e7fd

Browse files
committed
Upgrade A-A DB improvements
1 parent a0195b5 commit ac4e7fd

File tree

1 file changed

+100
-77
lines changed

1 file changed

+100
-77
lines changed

content/operate/rs/installing-upgrading/upgrading/upgrade-active-active.md

Lines changed: 100 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -10,133 +10,156 @@ linkTitle: Active-Active databases
1010
weight: 70
1111
---
1212

13-
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.
13+
## Upgrade an Active-Active database
1414

15-
## CRDB protocol version guidelines
15+
To upgrade an [Active-Active (CRDB) database]({{< relref "/operate/rs/databases/active-active" >}}):
1616

17-
Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1 to help support Active-Active features.
17+
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.
1818

19-
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.
19+
1. [Check the status](#check-database-status) of all Active-Active database instances.
2020

21-
After you upgrade one instance's CRDB protocol to version 1:
21+
1. [Upgrade all Active-Active database instances](#upgrade-database-instances) to a later version of Redis.
2222

23-
- Any instances that use CRDB protocol version 1 can receive updates from both version 1 and version 0 instances.
23+
1. If the status indicates `OLD CRDB FEATURESET VERSION`, [upgrade the featureset version](#upgrade-featureset-version).
2424

25-
- However, instances that still use CRDB protocol version 0 cannot receive write updates from version 1 instances.
25+
1. If your Active-Active database uses modules, [update module information](#update-module-information).
2626

27-
- After you upgrade an instance from CRDB protocol version 0 to version 1, it automatically receives any missing write operations.
27+
## Check database status
2828

29-
Follow these upgrade guidelines:
29+
To check the status of an Active-Active database instance, run [`rladmin status`]({{<relref "/operate/rs/references/rladmin/status">}}):
3030

31-
- Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances.
31+
```sh
32+
rladmin status
33+
```
3234

33-
- 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.
35+
{{< image filename="/images/rs/crdb-upgrade-node.png" >}}
3436

35-
- As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version.
37+
The statuses of the Active-Active instances on the node can indicate:
3638

37-
- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.
39+
- `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.
3840

39-
## Feature version guidelines
41+
- `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".
4042

41-
Starting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features.
43+
- `OLD CRDB FEATURESET VERSION`: The database feature set version is outdated. After all Active-Active instances are upgraded, update the feature set.
4244

43-
When you update the feature version for an Active-Active database, the feature version is updated for all database instances.
44-
45-
Follow these upgrade guidelines:
45+
## Upgrade database instances
4646

47-
- As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version.
47+
For each Active-Active database instance:
4848

49-
- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.
49+
1. Upgrade the Redis database version, modules, and CRDB protocol version with [`rladmin upgrade db`]({{<relref "/operate/rs/references/cli-utilities/rladmin/upgrade#upgrade-db">}}):
5050

51-
## Upgrade Active-Active database instance
51+
```sh
52+
rladmin upgrade db <database_name | database_ID>
53+
```
5254

53-
To upgrade an Active-Active database (CRDB) instance:
55+
1. If the protocol version is old, read the warning message carefully and confirm.
5456

55-
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.
57+
{{< image filename="/images/rs/crdb-upgrade-protocol.png" >}}
5658

57-
1. To see the status of your Active-Active instances, run:
59+
The Active-Active instance uses the new Redis version and CRDB protocol version.
5860

59-
```sh
60-
rladmin status
61-
```
61+
Use the `keep_crdt_protocol_version` option to upgrade the database version without upgrading the CRDB protocol version.
6262

63-
The statuses of the Active-Active instances on the node can indicate:
63+
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.
6464

65-
- `OLD REDIS VERSION`
66-
- `OLD CRDB PROTOCOL VERSION`
67-
- `OLD CRBD FEATURESET VERSION`
65+
You must upgrade the CRDB protocol before you update the CRDB feature set version.
6866

69-
{{< image filename="/images/rs/crdb-upgrade-node.png" >}}
67+
### CRDB protocol version guidelines
7068

71-
1. To upgrade each Active-Active instance and its modules, including the Redis version and CRDB protocol version, run:
69+
Redis Enterprise Software versions 5.4.2 and later use CRDB protocol version 1 to help support Active-Active features.
7270

73-
```sh
74-
rladmin upgrade db <database_name | database_ID>
75-
```
71+
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.
7672

77-
If the protocol version is old, read the warning message carefully and confirm.
73+
After you upgrade one instance's CRDB protocol to version 1:
7874
79-
{{< image filename="/images/rs/crdb-upgrade-protocol.png" >}}
75+
- Any instances that use CRDB protocol version 1 can receive updates from both version 1 and version 0 instances.
8076
81-
The Active-Active instance uses the new Redis version and CRDB protocol version.
77+
- However, instances that still use CRDB protocol version 0 cannot receive write updates from version 1 instances.
8278
83-
Use the `keep_crdt_protocol_version` option to upgrade the database feature version
84-
without upgrading the CRDB protocol version.
79+
- After you upgrade an instance from CRDB protocol version 0 to version 1, it automatically receives any missing write operations.
8580
86-
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.
81+
Follow these upgrade guidelines:
8782
88-
You must upgrade the CRDB protocol before you update the CRDB feature set version.
83+
- Upgrade all instances of a specific CRDB within a reasonable time frame to avoid temporary inconsistencies between the instances.
8984
90-
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:
85+
- 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.
9186
92-
```sh
93-
crdb-cli crdb update --crdb-guid <CRDB-GUID> --featureset-version yes
94-
```
87+
- As of v6.0.20, protocol version 0 is deprecated and support will be removed in a future version.
88+
89+
- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.
90+
91+
## Upgrade featureset version
9592
96-
You can retrieve the `<CRDB-GUID>` with the following command:
93+
If the feature set version is old, as indicated by the `OLD CRDB FEATURESET VERSION` status:
94+
95+
1. Upgrade all of the Active-Active database instances and make sure the CRDB protocol is not outdated.
96+
97+
1. Find the `<CRDB-GUID>` of your Active-Active database.
98+
99+
You can use [`crdb-cli crdb list`]({{<relref "/operate/rs/references/cli-utilities/crdb-cli/crdb/list">}}) command:
97100
98101
```sh
99102
crdb-cli crdb list
100103
```
101104
102-
Look for the fully qualified domain name (CLUSTER-FDQN) of your cluster and use the associated GUID:
105+
Look for the fully qualified domain name (`CLUSTER-FDQN`) of your cluster and use the associated `GUID`:
103106
104107
```sh
105108
CRDB-GUID NAME REPL-ID CLUSTER-FQDN
106109
700140c5-478e-49d7-ad3c-64d517ddc486 aatest 1 aatest1.example.com
107110
700140c5-478e-49d7-ad3c-64d517ddc486 aatest 2 aatest2.example.com
108111
```
109112
110-
1. Update module information in the CRDB configuration using the following command syntax:
113+
1. Update the feature set for each Active-Active database:
111114
112115
```sh
113-
crdb-cli crdb update --crdb-guid <guid> --default-db-config \
114-
'{ "module_list":
115-
[
116-
{
117-
"module_name": "<module1_name>",
118-
"semantic_version": "<module1_version>"
119-
},
120-
{
121-
"module_name": "<module2_name>",
122-
"semantic_version": "<module2_version>"
123-
}
124-
]}'
116+
crdb-cli crdb update --crdb-guid <CRDB-GUID> --featureset-version yes
125117
```
126118
127-
For example:
119+
### Feature version guidelines
128120
129-
```sh
130-
crdb-cli crdb update --crdb-guid 82a80988-f5fe-4fa5-bca0-aef2a0fd60db --default-db-config \
131-
'{ "module_list":
132-
[
133-
{
134-
"module_name": "search",
135-
"semantic_version": "2.4.6"
136-
},
137-
{
138-
"module_name": "ReJSON",
139-
"semantic_version": "2.4.5"
140-
}
141-
]}'
142-
```
121+
Starting with version 5.6.0, a new feature version (also called a _feature set version_) helps support new Active-Active features.
122+
123+
When you update the feature version for an Active-Active database, the feature version is updated for all database instances.
124+
125+
Follow these upgrade guidelines:
126+
127+
- As of v6.0.20, feature version 0 is deprecated and support will be removed in a future version.
128+
129+
- To avoid upgrade failures, update all Active-Active databases to protocol version 1 _before_ upgrading Redis Enterprise Software to v6.0.20 or later.
130+
131+
## Update module information
132+
133+
If your Active-Active database uses modules, Update module information in the CRDB configuration using the following command syntax:
134+
135+
```sh
136+
crdb-cli crdb update --crdb-guid <guid> --default-db-config \
137+
'{ "module_list":
138+
[
139+
{
140+
"module_name": "<module1_name>",
141+
"semantic_version": "<module1_version>"
142+
},
143+
{
144+
"module_name": "<module2_name>",
145+
"semantic_version": "<module2_version>"
146+
}
147+
]}'
148+
```
149+
150+
For example:
151+
152+
```sh
153+
crdb-cli crdb update --crdb-guid 82a80988-f5fe-4fa5-bca0-aef2a0fd60db --default-db-config \
154+
'{ "module_list":
155+
[
156+
{
157+
"module_name": "search",
158+
"semantic_version": "2.4.6"
159+
},
160+
{
161+
"module_name": "ReJSON",
162+
"semantic_version": "2.4.5"
163+
}
164+
]}'
165+
```

0 commit comments

Comments
 (0)