or-benjamin opened a new issue, #69704:
URL: https://github.com/apache/airflow/issues/69704

   ### Under which category would you file this issue?
   
   Airflow Core
   
   ### Apache Airflow version
   
   3.3.0
   
   ### What happened and how to reproduce it?
   
   With `CeleryExecutor` and a RabbitMQ 4.x broker, RabbitMQ reports usage of 
the
   **deprecated feature `transient_nonexcl_queues`**:
   
   > Deprecated features are being used ... transient_nonexcl_queues
   
   The offending queue is Celery's **pidbox** (remote-control mailbox), which 
kombu
   declares as **non-durable + non-exclusive** — exactly the queue shape 
RabbitMQ 4.x
   deprecates and plans to remove in a future major version.
   
   Task queues themselves are fine (they can be quorum), but a quorum queue 
must be
   durable, so the pidbox cannot be converted via configuration — it's a 
kombu-side
   declaration.
   
   ### What you think should happen instead?
   
   The bundled/pinned **kombu** version should include the pidbox durability 
fix so the
   deprecation is not triggered out of the box.
   
   The fix landed in **kombu 5.7.0** (kombu#2237 → PR celery/kombu#2531: pidbox 
declared
   durable). However, Airflow's constraints still pin **kombu 5.6.2**:
   
   | Constraints | kombu | celery | amqp |
   |---|---|---|---|
   | constraints-3.2.2 (py3.12) | 5.6.2 | 5.6.3 | 5.3.1 |
   | constraints-3.3.0 (py3.12) | 5.6.2 | 5.6.3 | 5.3.1 |
   
   Request: allow/bump **kombu >= 5.7.0** (via `apache-airflow-providers-celery`
   requirements / constraints) so the RabbitMQ `transient_nonexcl_queues` 
deprecation is
   resolved without a workaround.
   
   ### Operating System
   
   _No response_
   
   ### Deployment
   
   None
   
   ### Apache Airflow Provider(s)
   
   _No response_
   
   ### Versions of Apache Airflow Providers
   
   _No response_
   
   ### Official Helm Chart version
   
   Not Applicable
   
   ### Kubernetes Version
   
   _No response_
   
   ### Helm Chart configuration
   
   _No response_
   
   ### Docker Image customizations
   
   _No response_
   
   ### Anything else?
   
   ### How to reproduce
   1. Deploy Airflow with `CeleryExecutor` against a RabbitMQ **4.x** broker.
   2. Start scheduler + a Celery worker (remote control enabled — the default).
   3. Observe RabbitMQ logs (or `rabbitmqctl list_deprecated_features --used`): 
the
      `transient_nonexcl_queues` deprecated feature is flagged as used, caused 
by the
      `*.pidbox` queue.
   
   ### Workarounds (for reference)
   - RabbitMQ: `deprecated_features.permit.transient_nonexcl_queues = true` 
(temporary).
   - Celery: `worker_enable_remote_control = False` (drops pidbox; disables 
remote
     control / Flower inspect / revoke).
   Neither is a real fix — kombu >= 5.7.0 is.
   
   ### References
   - kombu#2237 — pidbox durable flag: 
https://github.com/celery/kombu/issues/2237
   - RabbitMQ transient_nonexcl_queues: 
https://github.com/rabbitmq/rabbitmq-server/discussions/13161
   - Celery quorum queues support: 
https://github.com/apache/airflow/discussions/35649
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to