From c6aa48164d33087bdc0d5952515b6979b034449b Mon Sep 17 00:00:00 2001 From: Lance Leonard Date: Tue, 12 Oct 2021 18:21:23 -0700 Subject: [PATCH 1/3] Initial draft --- content/rs/installing-upgrading/upgrading.md | 25 ++++++++++++++++++- .../rs/release-notes/rs-6-2-4-august-2021.md | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/content/rs/installing-upgrading/upgrading.md b/content/rs/installing-upgrading/upgrading.md index adbda2084d4..bafd342172c 100644 --- a/content/rs/installing-upgrading/upgrading.md +++ b/content/rs/installing-upgrading/upgrading.md @@ -110,7 +110,7 @@ Before upgrading a database: ### Redis database upgrade policy -In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility used to create new and update existing databases. To learn more, see [`rladmin upgrade`]({{< relref "/rs/references/rladmin.md#upgrade" >}}). +In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility used to create new and update existing databases. As of v6.2.4, this policy defaults to `major`, which limits Redis database compatibility to the most recent major release (v6.0, as of this writing.). To create databases using the most recent release of Redis, use `rladmin` to set the policy to `latest`. @@ -118,6 +118,29 @@ As of v6.2.4, this policy defaults to `major`, which limits Redis database compa tune cluster redis_upgrade_policy latest ``` +The policy supports the following values: + +- When set to `major`, the policy allows databases to be created or updated to versions of Redis compatible with open source Redis major releases. This allows for longer upgrade cycles by supporting Redis versions across multiple Redis Enterprise Software releases. + + This is the default value for Redis Enterprise Software. + +- When set to `latest`, the policy creates new databases and upgrades existing ones to be compatible with the latest (most recent) version of open source Redis, which was the default behavior of earlier versions of Redis Enterprise Software. This is no longer the default behavior. + + Setting the upgrade policy to `latest` ensures that the most recent Redis features are available to new databases and ones that are upgraded. It also requires more frequent upgrades, as open source Redis is updated more frequently than Redis Enterprise Software. + +To demonstrate: The Redis Enterprise Software 6.2.4 package included compatibility with the most recent major Redis release (v6.0 at the time) and the latest (most recent) update to Redis (v6.2.3 at the time). + +By default, compatibility with v6.0 was installed with the upgrade. + +To change this to use the latest release available, use `rladmin` to set the upgrade policy and the default Redis version: + +``` shell +tune cluster redis_upgrade_policy latest +tune cluster default_redis_version 6.2 +``` + +The default policy value supports a more conservative approach to upgrades. Changing the policy to `latest` provides access to the more recent feature changes; however, it requires more frequent upgrades to stay current. + ### Database upgrade process To upgrade a database: diff --git a/content/rs/release-notes/rs-6-2-4-august-2021.md b/content/rs/release-notes/rs-6-2-4-august-2021.md index 05801a0082a..580256250df 100644 --- a/content/rs/release-notes/rs-6-2-4-august-2021.md +++ b/content/rs/release-notes/rs-6-2-4-august-2021.md @@ -32,7 +32,7 @@ Keep the following in mind: - [In v6.0.20]({{}}), Redis Enterprise Software replaced Nginx with envoy to improve internal security and communication. As of v6.2.4, Nginx is no longer provided with Redis Enterprise Software. -### Database upgrade defaults +### Database upgrade default changes The default behavior of the `upgrade db` command has changed. It is now controlled by a new cluster policy (`redis_upgrade_policy`), which defines the policy for creating new databases and upgrading existing databases. The policy supports the following values: From e196ad6db4154186d40698036a088460f4467a73 Mon Sep 17 00:00:00 2001 From: Lance Leonard Date: Tue, 12 Oct 2021 18:29:45 -0700 Subject: [PATCH 2/3] Promoting section. --- content/rs/installing-upgrading/upgrading.md | 66 ++++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/content/rs/installing-upgrading/upgrading.md b/content/rs/installing-upgrading/upgrading.md index bafd342172c..14b41e6dabb 100644 --- a/content/rs/installing-upgrading/upgrading.md +++ b/content/rs/installing-upgrading/upgrading.md @@ -33,6 +33,39 @@ To upgrade successfully, both of the following must be true: If you do not meet these minimums, you must first update the nodes and databases accordingly. +## Redis upgrade policy + +In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility used to create new and update existing databases. + +As of v6.2.4, this policy defaults to `major`, which limits Redis database compatibility to the most recent major release (v6.0, as of this writing.). To create databases using the most recent release of Redis, use `rladmin` to set the policy to `latest`. + +``` shell +tune cluster redis_upgrade_policy latest +``` + +The policy supports the following values: + +- When set to `major`, the policy allows databases to be created or updated to versions of Redis compatible with open source Redis major releases. This allows for longer upgrade cycles by supporting Redis versions across multiple Redis Enterprise Software releases. + + This is the default value for Redis Enterprise Software. + +- When set to `latest`, the policy creates new databases and upgrades existing ones to be compatible with the latest (most recent) version of open source Redis, which was the default behavior of earlier versions of Redis Enterprise Software. This is no longer the default behavior. + + Setting the upgrade policy to `latest` ensures that the most recent Redis features are available to new databases and ones that are upgraded. It also requires more frequent upgrades, as open source Redis is updated more frequently than Redis Enterprise Software. + +To demonstrate: The Redis Enterprise Software 6.2.4 package included compatibility with the most recent major Redis release (v6.0 at the time) and the latest (most recent) update to Redis (v6.2.3 at the time). + +By default, compatibility with v6.0 was installed with the upgrade. + +To change this to use the latest release available, use `rladmin` to set the upgrade policy and the default Redis version: + +``` shell +tune cluster redis_upgrade_policy latest +tune cluster default_redis_version 6.2 +``` + +The default policy value supports a more conservative approach to upgrades. Changing the policy to `latest` provides access to the more recent feature changes; however, it requires more frequent upgrades to stay current. + ## Upgrade a cluster ### Upgrade prerequisites @@ -108,39 +141,6 @@ Before upgrading a database: - When persistence is enabled without replication, the database is unavailable during restart because the data is restored from the persistence file. AOF persistence restoration is slower than snapshot restoration. -### Redis database upgrade policy - -In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility used to create new and update existing databases. - -As of v6.2.4, this policy defaults to `major`, which limits Redis database compatibility to the most recent major release (v6.0, as of this writing.). To create databases using the most recent release of Redis, use `rladmin` to set the policy to `latest`. - -``` shell -tune cluster redis_upgrade_policy latest -``` - -The policy supports the following values: - -- When set to `major`, the policy allows databases to be created or updated to versions of Redis compatible with open source Redis major releases. This allows for longer upgrade cycles by supporting Redis versions across multiple Redis Enterprise Software releases. - - This is the default value for Redis Enterprise Software. - -- When set to `latest`, the policy creates new databases and upgrades existing ones to be compatible with the latest (most recent) version of open source Redis, which was the default behavior of earlier versions of Redis Enterprise Software. This is no longer the default behavior. - - Setting the upgrade policy to `latest` ensures that the most recent Redis features are available to new databases and ones that are upgraded. It also requires more frequent upgrades, as open source Redis is updated more frequently than Redis Enterprise Software. - -To demonstrate: The Redis Enterprise Software 6.2.4 package included compatibility with the most recent major Redis release (v6.0 at the time) and the latest (most recent) update to Redis (v6.2.3 at the time). - -By default, compatibility with v6.0 was installed with the upgrade. - -To change this to use the latest release available, use `rladmin` to set the upgrade policy and the default Redis version: - -``` shell -tune cluster redis_upgrade_policy latest -tune cluster default_redis_version 6.2 -``` - -The default policy value supports a more conservative approach to upgrades. Changing the policy to `latest` provides access to the more recent feature changes; however, it requires more frequent upgrades to stay current. - ### Database upgrade process To upgrade a database: From 32f4befaa325d5adfb8a94cc69e60cea763b4337 Mon Sep 17 00:00:00 2001 From: Lance Leonard Date: Thu, 14 Oct 2021 13:50:30 -0700 Subject: [PATCH 3/3] Incoporating editorial feedback. --- content/rs/installing-upgrading/upgrading.md | 26 ++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/content/rs/installing-upgrading/upgrading.md b/content/rs/installing-upgrading/upgrading.md index 14b41e6dabb..28e37fc1e7f 100644 --- a/content/rs/installing-upgrading/upgrading.md +++ b/content/rs/installing-upgrading/upgrading.md @@ -35,21 +35,29 @@ If you do not meet these minimums, you must first update the nodes and databases ## Redis upgrade policy -In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility used to create new and update existing databases. +In version 6.2.4, Redis Enterprise Software introduced the Redis database compatibility upgrade policy (`redis_upgrade_policy`). This policy controls the default value for the Redis database compatibility when creating or updating databases. -As of v6.2.4, this policy defaults to `major`, which limits Redis database compatibility to the most recent major release (v6.0, as of this writing.). To create databases using the most recent release of Redis, use `rladmin` to set the policy to `latest`. +As of v6.2.4, this policy defaults to `major`, which limits Redis database compatibility to the most recent major release (v6.0, as of this writing). -``` shell -tune cluster redis_upgrade_policy latest -``` +This value supports a more conservative approach to upgrades. You can change the value to support more frequent upgrades, however, you'll need to upgrade more frequently to stay current. + +If you change the policy to `latest`, you need to upgrade Redis Enterprise Software every time there's a minor release. Further, you'll need to leave the policy set to `latest` until the next major release of Redis Enterprise Software, which generally happens every 18-24 months. + +Changes to the upgrade policy do _not_ affect existing databases. The policy is used only when you create a new database, upgrade a database, or change its configuration. -The policy supports the following values: +For best results, we recommend changing the policy value only after upgrading to a major release of Redis Enterprise Software. -- When set to `major`, the policy allows databases to be created or updated to versions of Redis compatible with open source Redis major releases. This allows for longer upgrade cycles by supporting Redis versions across multiple Redis Enterprise Software releases. +## Upgrade policy values + +The Redis version of a database indicates its open source Redis compatibility. When you create a database or edit its configuration, the compatibility version is updated to support the most recent version supported by your copy of Redis Enterprise Software. + +The database compatibility upgrade policy controls this by limiting compatibility to either the most recent _major_ (x.0) release or the _latest_ release (x.y) supported by your version of Redis Enterprise Software. + +- When set to `major`, the policy limits Redis compatibility to major releases. This allows for longer upgrade cycles by supporting Redis versions across multiple Redis Enterprise Software releases. This is the default value for Redis Enterprise Software. -- When set to `latest`, the policy creates new databases and upgrades existing ones to be compatible with the latest (most recent) version of open source Redis, which was the default behavior of earlier versions of Redis Enterprise Software. This is no longer the default behavior. +- When set to `latest`, the policy limits compatibility to the latest (most recent) version of open source Redis supported by your copy of Redis Enterprise Software. (This was the default behavior of earlier releases. As of v6.2.4, this is no longer the default behavior.) Setting the upgrade policy to `latest` ensures that the most recent Redis features are available to new databases and ones that are upgraded. It also requires more frequent upgrades, as open source Redis is updated more frequently than Redis Enterprise Software. @@ -64,8 +72,6 @@ tune cluster redis_upgrade_policy latest tune cluster default_redis_version 6.2 ``` -The default policy value supports a more conservative approach to upgrades. Changing the policy to `latest` provides access to the more recent feature changes; however, it requires more frequent upgrades to stay current. - ## Upgrade a cluster ### Upgrade prerequisites