-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Describe the bug
The command rabbitmq-diagnostics check_if_any_deprecated_features_are_used and the API endpoint /api/deprecated-features/used do not report accurate information on actual state of the system. The command/endpoint only seem to check for classic queue mirroring, and it doesn't report the state of other deprecated features in use.
Reproduction steps
- Start RabbitMQ 4.0.3 (latest at this time):
docker run --name bunny -p 15672:15672 --rm rabbitmq:4.0-management - List deprecated features:
docker exec bunny rabbitmq-diagnostics --formatter=pretty_table list_deprecated_features
Observetransient_nonexcl_queuesas deprecated feature, permitted by default - Create a transient non-exclusive classic queue:
curl -v -u guest:guest -H "Content-Type: application/json" -d '{"auto_delete":false,"durable":false}' -X PUT http://localhost:15672/api/queues/%2F/myqueue - Query the state of deprecated features used:
curl -v -u guest:guest http://localhost:15672/api/deprecated-features/used - Observe that none
[]are reported - Observe that server logs print Deprecated features:
transient_nonexcl_queues: Featuretransient_nonexcl_queuesis deprecated. - Run
docker exec bunny rabbitmq-diagnostics --formatter=pretty_table check_if_any_deprecated_features_are_used - Observe the reported output:
Cluster reported no deprecated features in use
Expected behavior
The command rabbitmq-diagnostics --formatter=pretty_table check_if_any_deprecated_features_are_used reports that transient_nonexcl_queues deprecated feature is used.
The API endpoint /api/deprecated-features/used reports that transient_nonexcl_queues deprecated feature is used.
Additional context
Setting deprecated_features.permit.transient_nonexcl_queues = false causes the queue declare operation to fail right away.