-
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
Restore credit_flow between AMQP 0.9.1 channel/MQTT connection -> CQ processes #12906
Conversation
The credit_flow between publishing AMQP 0.9.1 channel (or MQTT connection) and (non-mirrored) classic queue processes was unintentionally removed in 4.0 together with anything else related to CQ mirroring. By default we restore the 3.x behaviour for non-mirored classic queues. It is possible to disable flow-control (the earlier 4.0.x behaviour) with the new env `classic_queue_flow_control`. In 3.x this was possible with the config `mirroring_flow_control`.
Co-authored-by: Luke Bakken <lukerbakken@gmail.com>
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.
web_mqtt_shared_SUITE > mqtt > cluster_size_3 > v4 > flow_classic_queue
fails with an undef
repeatedly, for example in https://github.com/rabbitmq/rabbitmq-server/actions/runs/12248903112/job/34169379099?pr=12907#step:10:5274
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.
The CI failure fix was a matter of propagating one more test to the mqtt_shared_SUITE
f3540ee.
I did not realise why the shared_SUITE is called shared. I thought it is shared between MQTT v3 and v5. |
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.
I can no longer reproduce using the code from the issue and I've run a test suite that shows no obvious regressions:
https://grafana.lionhead.rabbitmq.com/goto/NgoPWu4Ng?orgId=1
Merged in #12907. Thank you, @gomoripeti. |
Proposed Changes
The credit_flow between publishing AMQP 0.9.1 channel (or MQTT
connection) and (non-mirrored) classic queue processes was
unintentionally removed in 4.0 together with anything else related to
CQ mirroring.
By default we restore the 3.x behaviour for non-mirored classic
queues. It is possible to disable flow-control (the earlier 4.0.x
behaviour) with the new env
classic_queue_flow_control
. In 3.x thiswas possible with the config
mirroring_flow_control
.Most of the changes are reverted portions of 3bbda5b, except the new function
rabbit_misc:process_info/2
and the new test casesclassic_queue_SUITE:classic_queue_flow_control_(enabled|disabled)
Fixes #12885
Types of Changes
What types of changes does your code introduce to this project?
Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply.You can also fill these out after creating the PR.
If you're unsure about any of them, don't hesitate to ask on the mailing list.
We're here to help!
This is simply a reminder of what we are going to look for before merging your code.
CONTRIBUTING.md
documentFurther Comments