Skip to content

Commit c2bb67a

Browse files
More 4.0 release notes updates post-#11937
1 parent e7296c1 commit c2bb67a

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

release-notes/4.0.0.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,18 @@ on how to migrate to quorum queues for the parts of the system that really need
4747
Quorum queues now have a default [redelivery limit](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling) set to `20`.
4848
Messages that are redelivered 20 times or more will be [dead-lettered](https://www.rabbitmq.com/docs/dlx) or dropped (removed).
4949

50-
This limit is necessary to protect nodes from consumers that run into infinite crash-requeue-crash-requeue loops. Such
50+
This limit is necessary to protect nodes from consumers that run into infinite fail-requeue-fail-requeue loops. Such
5151
consumers can drive a node out of disk space by making a quorum queue Raft log grow forever without allowing compaction
5252
of older entries.
5353

5454
If 20 deliveries per message is a common scenario for a queue, a dead-lettering target must be configured
5555
for such queues. The recommended way of doing that is via a [policy](https://www.rabbitmq.com/docs/parameters#policies).
5656

57+
The limit can be [increased](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling) using a policy.
58+
This option is recommended against: usually the presence of messages that have been redelivered 20 times or more suggests
59+
that a consumer has entered a fail-requeue-fail-requeue loop, in which case even a much higher limit
60+
won't help avoid the dead-lettering.
61+
5762
### CQv1 Storage Implementation was Removed
5863

5964
CQv1, [the original classic queue storage layer, was removed](https://github.com/rabbitmq/rabbitmq-server/pull/10656)
@@ -167,13 +172,18 @@ periods of time (no more than a few hours).
167172

168173
### Recommended Post-upgrade Procedures
169174

170-
#### Configure Dead Lettering for Frequently Redelivered Messages
175+
#### Configure Dead Lettering or Increase the Limit for Frequently Redelivered Messages
171176

172177
In environments where messages can experience 20 redeliveries, the affected queues should have [dead lettering](https://www.rabbitmq.com/docs/dlx)
173178
configured (usually via a [policy](https://www.rabbitmq.com/docs/parameters#policies)) to make sure
174179
that messages that are redelivered 20 times are moved to a separate queue (or stream) instead of
175180
being dropped (removed) by the [crash-requeue-redelivery loop protection mechanism](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling).
176181

182+
Alternatively, the limit can be [increased](https://www.rabbitmq.com/docs/next/quorum-queues#poison-message-handling) using a policy.
183+
This option is recommended against: usually the presence of messages that have been redelivered 20 times or more suggests
184+
that a consumer has entered a fail-requeue-fail-requeue loop, in which case even a much higher limit
185+
won't help avoid the dead-lettering.
186+
177187

178188
## Changes Worth Mentioning
179189

0 commit comments

Comments
 (0)