Skip to content

Commit e7296c1

Browse files
Update 4.0 release notes
References #11937.
1 parent 072cfec commit e7296c1

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

release-notes/4.0.0.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## RabbitMQ 4.0.0-beta.6
1+
## RabbitMQ 4.0.0-beta.7
22

3-
RabbitMQ `4.0.0-beta.6` is a preview of a new major release.
3+
RabbitMQ `4.0.0-beta.7` is a preview of a new major release.
44

55
Starting June 1st, 2024, community support for this series will only be provided to [regularly contributing users](https://github.com/rabbitmq/rabbitmq-server/blob/main/COMMUNITY_SUPPORT.md) and those who hold a valid [commercial support license](https://tanzu.vmware.com/rabbitmq/oss).
66

@@ -45,6 +45,14 @@ on how to migrate to quorum queues for the parts of the system that really need
4545
### Quorum Queues Now Have a Default Redelivery Limit
4646

4747
Quorum queues now have a default [redelivery limit](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling) set to `20`.
48+
Messages that are redelivered 20 times or more will be [dead-lettered](https://www.rabbitmq.com/docs/dlx) or dropped (removed).
49+
50+
This limit is necessary to protect nodes from consumers that run into infinite crash-requeue-crash-requeue loops. Such
51+
consumers can drive a node out of disk space by making a quorum queue Raft log grow forever without allowing compaction
52+
of older entries.
53+
54+
If 20 deliveries per message is a common scenario for a queue, a dead-lettering target must be configured
55+
for such queues. The recommended way of doing that is via a [policy](https://www.rabbitmq.com/docs/parameters#policies).
4856

4957
### CQv1 Storage Implementation was Removed
5058

@@ -93,7 +101,8 @@ IDs are passed around in messages instead of the entire payload.
93101

94102
RabbitMQ 3.13 `rabbitmq.conf` setting `rabbitmq_amqp1_0.default_vhost` is unsupported in RabbitMQ 4.0.
95103

96-
Instead `default_vhost` will be used to determine the default vhost an AMQP 1.0 client connects to(i.e. when the AMQP 1.0 client does not define the vhost in the `hostname` field of the `open` frame).
104+
Instead `default_vhost` will be used to determine the default vhost an AMQP 1.0 client connects to(i.e. when the AMQP 1.0 client
105+
does not define the vhost in the `hostname` field of the `open` frame).
97106

98107
### MQTT
99108

@@ -158,11 +167,13 @@ periods of time (no more than a few hours).
158167

159168
### Recommended Post-upgrade Procedures
160169

161-
Set a low priority dead lettering policy for all quorum queues to dead letter to a stream or similar
162-
so that messages that reach the new default delivery limit of 20 aren't lost completely
163-
when no dead lettering policy is in place.
170+
#### Configure Dead Lettering for Frequently Redelivered Messages
171+
172+
In environments where messages can experience 20 redeliveries, the affected queues should have [dead lettering](https://www.rabbitmq.com/docs/dlx)
173+
configured (usually via a [policy](https://www.rabbitmq.com/docs/parameters#policies)) to make sure
174+
that messages that are redelivered 20 times are moved to a separate queue (or stream) instead of
175+
being dropped (removed) by the [crash-requeue-redelivery loop protection mechanism](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling).
164176

165-
TBD
166177

167178
## Changes Worth Mentioning
168179

0 commit comments

Comments
 (0)