-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add quorum queues support for MQTT #4254
Conversation
@binarin @michaelklishin WDYT? |
Just curious, is it possible to purge a quorum queue? |
It is possible to purge a quorum queue, yes. |
I'm planning to test and review this week! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested out combinations of quorum
and classic
queues for MQTT with CleanSession
True
/ False
I just have the one comment, otherwise 👍
We want to backport this into 3.10.0, correct? |
We do but I haven't tested it yet. |
I have applied the label. Do we want to merge this into master and let the backport stay open until we are done testing? |
I should get to it within the next 24 hours. |
Enable the quorum queue for MQTT only if CleanSession is False. QQs don't support auto-delete flag so in case Clean session is True the queue will be a classic queue. Add another group test non_parallel_tests_quorum. For Mixed test the quorum_queue feature flag must be enabled. Add log message
If a client uses a durable topic without So the only upgrade strategy is then to drain all topics with durable data and delete all durable queues that begin with Alternatively we can change the naming strategy used by this plugin. Then existing data will be "missing" for such clients. |
Seems reasonable to me. The user could then shovel messages to the new queue. |
It can be quite a pain with thousands of queues and diverse client IDs (used in queue names). So I think this is a feature that only new installations realistically can adopt. |
Since this feature is opt-in, we see the above limitation as acceptable. |
I will rename the |
Add quorum queues support for MQTT (cherry picked from commit d01d02c)
Add quorum queues support for MQTT (backport #4254)
Enable the quorum queue for MQTT only if CleanSession is False.
QQs don't support auto-delete flag so in case Clean session is True
the queue will be a classic queue.
Add another group test non_parallel_tests_quorum.
For Mixed test the quorum_queue feature flag must be enabled.
How to test:
where
myfile.conf
is:python client recv:
send:
Important:
Read this PR #4185 for all the story.
I had to create another because of a wrong rebase.
@pjk25 I created different tests.