diff options
| author | dcorbacho <dparracorbacho@piotal.io> | 2019-10-14 10:49:31 +0100 |
|---|---|---|
| committer | dcorbacho <dparracorbacho@piotal.io> | 2019-10-14 10:50:54 +0100 |
| commit | a629eefa9b514ebb30b2fece56d9d4d81fded6bc (patch) | |
| tree | b07c6aeca51bd02b2d34f634fb0a750c42da245d /src | |
| parent | a7f3dce5b366d88b8f09470b2a897298c00aeeeb (diff) | |
| download | rabbitmq-server-git-a629eefa9b514ebb30b2fece56d9d4d81fded6bc.tar.gz | |
Ignore queue master location
Needed by the sharding plugin so the shards are created in the
requested node, not wherever a non-related policy might try to enforce.
[#168224238]
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue.erl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index 540e0789ca..925e7915cb 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -309,9 +309,14 @@ do_declare(Q, _Node) when ?amqqueue_is_quorum(Q) -> declare_classic_queue(Q, Node) -> QName = amqqueue:get_name(Q), VHost = amqqueue:get_vhost(Q), - Node1 = case rabbit_queue_master_location_misc:get_location(Q) of - {ok, Node0} -> Node0; - {error, _} -> Node + Node1 = case Node of + {ignore_location, Node0} -> + Node0; + _ -> + case rabbit_queue_master_location_misc:get_location(Q) of + {ok, Node0} -> Node0; + {error, _} -> Node + end end, Node1 = rabbit_mirror_queue_misc:initial_queue_node(Q, Node1), case rabbit_vhost_sup_sup:get_vhost_sup(VHost, Node1) of |
