-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Queue federation uses decorators to register callbacks that react to queue policy changes, so that links can be started/stopped. This is currently not supported by quorum queues, at least not in every case.
For example, rabbit_amqqueue:notify_decorators/1
will fail with an exception if invoked for a quorum queue:
{function_clause,
[{delegate,invoke_no_result,
[{'%2F_test.federation.orange',
'rabbit@rabbitmq-1.rabbitmq-headless.rabbitmq.svc.cluster.local'},
{gen_server2,cast,[notify_decorators]}],
[{file,"src/delegate.erl"},{line,137}]},
{rabbit_federation_queue_link,init,1,
[{file,"src/rabbit_federation_queue_link.erl"},
{line,72}]},
{gen_server2,init_it,6,
[{file,"src/gen_server2.erl"},{line,565}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,249}]}]}}},
As you can see above, a Ra server ID is passed to delegate:invoke_no_result/2
which expects an Erlang PID instead.
There are a few more places with basically the same problem.