Skip to content
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

DQT defined in rabbitmq.conf is not injected into exported definitions #12776

Closed
mkuratczyk opened this issue Nov 21, 2024 · 2 comments · Fixed by #12821
Closed

DQT defined in rabbitmq.conf is not injected into exported definitions #12776

mkuratczyk opened this issue Nov 21, 2024 · 2 comments · Fixed by #12821
Assignees
Milestone

Comments

@mkuratczyk
Copy link
Contributor

default_queue_type is not reflected in definitions export nor /api/vhosts. Additionally, it seems ineffective in 3.13.

Affected versions: 3.13, 4.0, main.

Reproduction steps:

echo 'default_queue_type = quorum' > /tmp/dqt.conf
make run-broker RABBITMQ_CONFIG_FILE=/tmp/dqt.conf

# export_definitions doesn't mention DQT
rabbitmqctl export_definitions - | jq | rg quorum

# /api/vhosts returns DQT as undefined
curl -u guest:guest -s localhost:15672/api/vhosts | jq | rg default_queue_type
    "default_queue_type": "undefined",

# the setting is effective nonetheless
rabbitmqadmin declare queue name=foo
rabbitmqctl -q list_queues name type
name	type
foo	quorum

On v3.13.x, I get foo classic in that last command, so it seems like
default_queue_type is not being applied at all. rabbitmqctl environment
returns {default_queue_type,rabbit_quorum_queue} as expected.

@michaelklishin
Copy link
Member

michaelklishin commented Nov 21, 2024

@mkuratczyk in 3.13.x it will be effective for virtual hosts that have at least some metadata. It also can be configured per virtual host in 3.13.x and this is not a problem in 4.0.x. It's just 3.13.x ran out of community support before we have gotten to backport the fix and the test suite refactoring it depended on in main.

The docs for 3.13.x do not even mention default_queue_type in rabbitmq.conf any more for that reason.

As for injecting the default into definitions, we already do this for GET /api/queues/{vhost} and such, so it makes sense.

@michaelklishin michaelklishin self-assigned this Nov 21, 2024
@michaelklishin michaelklishin changed the title Default Queue Type is not correctly returned by the API nor definition export DQT defined in rabbitmq.conf is not injected into exported definitions Nov 21, 2024
@michaelklishin
Copy link
Member

I a have a prototype for GET /api/vhosts and an individual virtual host but definitions have proven to be more time consuming, so it will have to wait till next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants