Skip to content

Commit 2bf0489

Browse files
Upgrade guide edits
per a couple of discussions on GitHub.
1 parent 1ab99df commit 2bf0489

File tree

2 files changed

+90
-20
lines changed

2 files changed

+90
-20
lines changed

docs/upgrade.md

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ This guide covers topics related to RabbitMQ installation upgrades.
3737
1. [Caveats](#caveats)
3838
1. [Handling node restarts](#rabbitmq-restart-handling) in applications
3939

40-
Changes between RabbitMQ versions are documented in the [change log](/release-information).
40+
See [Release Information](/release-information) to find out what RabbitMQ release series are supported.
41+
Release notes of individual releases are [published on GitHub](https://github.com/rabbitmq/rabbitmq-server/releases).
4142

4243
## Important Note on Upgrading to 3.12 and 3.13
4344

44-
:::warning
45-
RabbitMQ 3.12 requires all previously existing feature flags to be enabled before the upgrade.
45+
:::important
46+
RabbitMQ 3.12 requires all previously existing feature flags to be [enabled](./feature-flags#how-to-enable-feature-flags) before the upgrade.
4647

4748
The upgrade will fail if you miss this step.
4849
:::
@@ -58,6 +59,8 @@ as well as several most commonly used strategies:
5859

5960
Below is a brief overview of the common strategies. The rest of the guide covers each strategy in more detail.
6061

62+
The [RabbitMQ version upgradability](#rabbitmq-version-upgradability) section explains what versions or series can be upgraded to what later series.
63+
6164
### In-place Upgrades {#in-place}
6265

6366
:::tip
@@ -120,15 +123,45 @@ Similarly to [rolling upgrades](#rolling-upgrades), grow-and-shrink upgrades bet
120123

121124
## RabbitMQ Version Upgradability {#rabbitmq-version-upgradability}
122125

123-
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
124-
one or more intermediate upgrades first. For example, when upgrading from `3.9.x` to `3.13.x`, it would be necessary to
125-
first upgrade to 3.10.x, then to 3.11.x, then to 3.12.x, and finally upgrade to 3.13.0,
126-
or consider a [The Blue/Green deployment](./blue-green-upgrade) upgrade.
127-
128126
All versions starting with `3.7.27` support [rolling upgrades](#rolling-upgrades) to compatible
129127
later versions using [feature flags](./feature-flags).
130128

131-
A [full cluster stop](#full-stop-upgrades) may be required for feature version upgrades.
129+
A [full cluster stop](#full-stop-upgrades) may be required for feature version upgrades
130+
but such cases are rare in modern release series thanks to feature flags.
131+
132+
:::important
133+
As a rule of thumb, upgrade to the latest patch release in the target series,
134+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
135+
after all cluster nodes have been upgraded.
136+
:::
137+
138+
:::important
139+
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
140+
one or more intermediate upgrades first.
141+
142+
For each intermediary upgrade, upgrade to the latest patch release in the target series,
143+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
144+
after all cluster nodes have been upgraded.
145+
:::
146+
147+
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
148+
one or more intermediate upgrades first. For each intermediary upgrade, upgrade to the latest patch release in the target series,
149+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
150+
after all cluster nodes have been upgraded.
151+
152+
For example, when upgrading from `3.9.x` to `3.13.x`, it would be necessary to
153+
154+
1. First upgrade to the latest 3.10.x patch release
155+
2. Then to the latest patch release of 3.11.x
156+
3. Then to the latest patch release of 3.12.x
157+
4. Finally, upgrade to the latest release in the 3.13.x
158+
159+
Don't forget to [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags) every step of
160+
the process or the follow step may fail because some feature flags have [graduated](./feature-flags#graduation) (became mandatory).
161+
162+
Or consider a [The Blue/Green deployment](./blue-green-upgrade) upgrade in one go.
163+
164+
### Release Series Upgradeability with Rolling Upgrades
132165

133166
Current release series upgrade compatibility with **rolling** upgrade:
134167

@@ -141,6 +174,8 @@ Current release series upgrade compatibility with **rolling** upgrade:
141174
| 3.8.x | 3.9.x | |
142175
| 3.7.18 | 3.8.x | |
143176

177+
### Release Series Upgradeability with Full Stop Upgrades
178+
144179
Current release series upgrade compatibility with **full stop** upgrade:
145180

146181
| From | To | Notes |
@@ -154,7 +189,7 @@ Current release series upgrade compatibility with **full stop** upgrade:
154189
| 3.6.x | 3.8.x | |
155190
| 3.6.x | 3.7.x | |
156191
| 3.5.x | 3.7.x | |
157-
| =< 3.4.x | 3.6.16 | |
192+
| =< 3.4.x | 3.6.16 |
158193

159194

160195
## Erlang Version Requirements {#rabbitmq-erlang-version-requirement}

versioned_docs/version-3.13/upgrade.md

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ limitations under the License.
2626
This guide covers topics related to RabbitMQ installation upgrades.
2727

2828
1. [An overview](#basics) of several common approaches to upgrading RabbitMQ
29-
1. [RabbitMQ version upgradability](#rabbitmq-version-upgradability), version upgrading from and version upgrading to
29+
1. [RabbitMQ version upgradability](#rabbitmq-version-upgradability): explains what versions or series can be upgraded to what later series
3030
1. [Erlang version requirement](#rabbitmq-erlang-version-requirement)
3131
1. [Plugin compatibility between versions](#rabbitmq-plugins-compatibility)
3232
1. Features [that do not support in-place upgrade](#unsupported-inplace-upgrade)
@@ -37,12 +37,13 @@ This guide covers topics related to RabbitMQ installation upgrades.
3737
1. [Caveats](#caveats)
3838
1. [Handling node restarts](#rabbitmq-restart-handling) in applications
3939

40-
Changes between RabbitMQ versions are documented in the [change log](/release-information).
40+
See [Release Information](/release-information) to find out what RabbitMQ release series are supported.
41+
Release notes of individual releases are [published on GitHub](https://github.com/rabbitmq/rabbitmq-server/releases).
4142

4243
## Important Note on Upgrading to 3.12 and 3.13
4344

44-
:::warning
45-
RabbitMQ 3.12 requires all previously existing feature flags to be enabled before the upgrade.
45+
:::important
46+
RabbitMQ 3.12 requires all previously existing feature flags to be [enabled](./feature-flags#how-to-enable-feature-flags) before the upgrade.
4647

4748
The upgrade will fail if you miss this step.
4849
:::
@@ -58,6 +59,8 @@ as well as several most commonly used strategies:
5859

5960
Below is a brief overview of the common strategies. The rest of the guide covers each strategy in more detail.
6061

62+
The [RabbitMQ version upgradability](#rabbitmq-version-upgradability) section explains what versions or series can be upgraded to what later series.
63+
6164
### In-place Upgrades {#in-place}
6265

6366
:::tip
@@ -120,15 +123,45 @@ Similarly to [rolling upgrades](#rolling-upgrades), grow-and-shrink upgrades bet
120123

121124
## RabbitMQ Version Upgradability {#rabbitmq-version-upgradability}
122125

123-
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
124-
one or more intermediate upgrades first. For example, when upgrading from `3.9.x` to `3.13.x`, it would be necessary to
125-
first upgrade to 3.10.x, then to 3.11.x, then to 3.12.x, and finally upgrade to 3.13.0,
126-
or consider a [The Blue/Green deployment](./blue-green-upgrade) upgrade.
127-
128126
All versions starting with `3.7.27` support [rolling upgrades](#rolling-upgrades) to compatible
129127
later versions using [feature flags](./feature-flags).
130128

131-
A [full cluster stop](#full-stop-upgrades) may be required for feature version upgrades.
129+
A [full cluster stop](#full-stop-upgrades) may be required for feature version upgrades
130+
but such cases are rare in modern release series thanks to feature flags.
131+
132+
:::important
133+
As a rule of thumb, upgrade to the latest patch release in the target series,
134+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
135+
after all cluster nodes have been upgraded.
136+
:::
137+
138+
:::important
139+
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
140+
one or more intermediate upgrades first.
141+
142+
For each intermediary upgrade, upgrade to the latest patch release in the target series,
143+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
144+
after all cluster nodes have been upgraded.
145+
:::
146+
147+
When an upgrade jumps multiple release series (e.g. goes from `3.9.x` to `3.13.x`), it may be necessary to perform
148+
one or more intermediate upgrades first. For each intermediary upgrade, upgrade to the latest patch release in the target series,
149+
and then [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags)
150+
after all cluster nodes have been upgraded.
151+
152+
For example, when upgrading from `3.9.x` to `3.13.x`, it would be necessary to
153+
154+
1. First upgrade to the latest 3.10.x patch release
155+
2. Then to the latest patch release of 3.11.x
156+
3. Then to the latest patch release of 3.12.x
157+
4. Finally, upgrade to the latest release in the 3.13.x
158+
159+
Don't forget to [enable all stable feature flags](./feature-flags#how-to-enable-feature-flags) every step of
160+
the process or the follow step may fail because some feature flags have [graduated](./feature-flags#graduation) (became mandatory).
161+
162+
Or consider a [The Blue/Green deployment](./blue-green-upgrade) upgrade in one go.
163+
164+
### Release Series Upgradeability with Rolling Upgrades
132165

133166
Current release series upgrade compatibility with **rolling** upgrade:
134167

@@ -141,6 +174,8 @@ Current release series upgrade compatibility with **rolling** upgrade:
141174
| 3.8.x | 3.9.x | |
142175
| 3.7.18 | 3.8.x | |
143176

177+
### Release Series Upgradeability with Full Stop Upgrades
178+
144179
Current release series upgrade compatibility with **full stop** upgrade:
145180

146181
| From | To | Notes |

0 commit comments

Comments
 (0)