You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rabbitmq | 2025-01-27 09:40:55.277393+00:00 [warning] <0.780.0> Deprecated features: `transient_nonexcl_queues`: Feature `transient_nonexcl_queues` is deprecated.
rabbitmq | 2025-01-27 09:40:55.277393+00:00 [warning] <0.780.0> By default, this feature can still be used for now.
rabbitmq | 2025-01-27 09:40:55.277393+00:00 [warning] <0.780.0> Its use will not be permitted by default in a future minor RabbitMQ version and the feature will be removed from a future major RabbitMQ version; actual versions to be determined.
By default, the durable flag for new queue is False. This is hardcoded for pidbox.py:
the software requirements from my point of view are:
change celery/kombu to not depend on a rabbitmq feature that will be removed
keep the celery functionality the same (i.e. celery inspect/control/ping via pidbox)
the proposed change fulfills both of the software requirements by:
changing default durable to True
keeps the celery functionality all the same
the only downside is that all celery inspect/control/ping command/control is done via queues that are durable instead of in-memory so there is a slight performance hit (not a big deal IMO). and the change is very low risk.
p.s. IMO it does not require a new celery config field/parameter because the rabbitmq feature is going away so no way to turn back on once it goes away.
In 4.0, RabbitMQ added transient_nonexcl_queues to deprecated features:
https://www.rabbitmq.com/release-information/deprecated-features-list
https://www.rabbitmq.com/blog/2021/08/21/4.0-deprecation-announcements#removal-of-transient-non-exclusive-queues
By default, the durable flag for new queue is False. This is hardcoded for pidbox.py:
kombu/kombu/pidbox.py
Lines 395 to 405 in a0175b0
kombu/kombu/pidbox.py
Lines 233 to 257 in a0175b0
kombu/kombu/pidbox.py
Lines 272 to 274 in a0175b0
And not hardcoded for qpid.py but setting it to True can be a sensible default:
kombu/kombu/transport/qpid.py
Line 591 in a0175b0
kombu/kombu/transport/qpid.py
Line 711 in a0175b0
By setting those to True, can we avoid the deprecated feature warning?
The text was updated successfully, but these errors were encountered: