-
Notifications
You must be signed in to change notification settings - Fork 3.9k
/api/aliveness-test/vhost uses deprecated feature transient_nonexcl_queues with RabbitMQ 4.0.x #13047
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
Comments
Yes, we should change this. I guess a durable auto-delete queue should be the right choice for this purpose |
That health check arguably should be made a no-op because it is largely useless. There is no such thing as One True Health Check, we have made the CLI equivalent a no-op in |
I will make the check a no-op instead, it is already gone from the HTTP API reference in |
This follows the decision that was made for 'rabbitm-diagnostics node_health_check' which is a no-op as of 4.0.0 following a few years of deprecation. The justification is very similar: 1. There is no such thing as "One True Health Check". A single health check is too coarse-grained to explain what specifically is not right about cluster state 2. Indivual fine-grained health checks have been available for a few years now, see https://www.rabbitmq.com/docs/monitoring#health-checks 3. This particular check tests something that effectively never fails, based on my 14+ years of RabbitMQ contributions and user support of all shapes and forms 4. This check uses a deprecated feature: non-exclusive non-durable/transient classic queues If something about this health check is worth preserving, we can always add a new one under GET /api/health/checks/* Closes #13047. (cherry picked from commit ad906c9)
This follows the decision that was made for 'rabbitm-diagnostics node_health_check' which is a no-op as of 4.0.0 following a few years of deprecation. The justification is very similar: 1. There is no such thing as "One True Health Check". A single health check is too coarse-grained to explain what specifically is not right about cluster state 2. Indivual fine-grained health checks have been available for a few years now, see https://www.rabbitmq.com/docs/monitoring#health-checks 3. This particular check tests something that effectively never fails, based on my 14+ years of RabbitMQ contributions and user support of all shapes and forms 4. This check uses a deprecated feature: non-exclusive non-durable/transient classic queues If something about this health check is worth preserving, we can always add a new one under GET /api/health/checks/* Closes #13047.
Describe the bug
In a fresh RabbitMQ 4.0.5 installation, when using the
/api/aliveness-test/%2F
API call a queue namedaliveness-test
is created in the corresponding vhost/
. The queue is created as a classic, transient, non-exclusive queue. This leads to the "transient_nonexcl_queues" message withrabbitmqctl check_if_any_deprecated_features_are_used
and also in the management plugin to the message "Deprecated features are being used".Reproduction steps
rabbitmqctl check_if_any_deprecated_features_are_used
curl -su user:password https://localhost:15671/api/aliveness-test/%2F
rabbitmqctl check_if_any_deprecated_features_are_used
Expected behavior
The API call
/api/aliveness-test/vhost
must not lead to the use of deprecated features.The text was updated successfully, but these errors were encountered: