Skip to content

DLX data safety guarantees with node restarts with classic queues on RabbitMQ 3.9 #12863

Closed Answered by michaelklishin
usernameisnull asked this question in Other
Discussion options

You must be logged in to vote

@usernameisnull DLX is not magic, it is a special kind of publisher. Publishing can and will fail when nodes are restarted. This is why Publisher Confirms exist, so that clients could track such cases and retry (or do something else).

However, DLX is not a regular client and it cannot execute arbitrary code. So there are only two options to choose from in modern versions, and only for quorum queues who have sufficient data safety guarantees and focus to implement a reasonably safe retry for DLX. Specifically the source queue must be a quorum one, although using QQs with non-mirrored classic queues for dead lettered messages will negate most data safety characteristics of QQs.

As @mkuratczyk

Replies: 3 comments 2 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@michaelklishin
Comment options

Answer selected by michaelklishin
Comment options

You must be logged in to vote
1 reply
@michaelklishin
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ineligible-for-community-support For topics that community (free of charge) support does not cover
3 participants
Converted from issue

This discussion was converted from issue #12856 on November 29, 2024 17:06.