Toomas Aas
support engineer | reach-u.com

On 3/14/22 17:31, Toomas Aas wrote:

> As I didn't have better ideas, I created a quorum queue in RabbitMQ and
> set it as default_queue in airflow.cfg. Then I started airflow celery
> worker on two nodes.
> 
> On one node, the worker started successfully, but on the other node it
> failed with error below.
> 
> Has anyone gotten Airflow working successfully with quorum queues in
> rabbitmq?
> 
> INFO/MainProcess] mingle: sync complete
> CRITICAL/MainProcess] Unrecoverable error: PreconditionFailed(406,
> "PRECONDITION_FAILED - inequivalent arg 'x-queue-type' for queue
> 'airflow-default' in vhost 'airflow_ci': received none but current is
> the value 'quorum' of type 'longstr'", (50, 10), 'Queue.declare')

For the sake of future readers: I switched from quorum queues to classic 
queue mirroring and this seems to work. I can shut down one or two 
rabbitmq instances in my 3-node cluster and Airflow keeps working.

This is maybe not ideal, because RabbitMQ website says that classic 
queue mirroring will be removed in a future version of RabbitMQ and 
quorum queues should be used instead, but I guess that's a problem for 
the future.

Best regards,
--
Toomas Aas

Reply via email to