diff options
| -rw-r--r-- | src/rabbit_mirror_queue_master.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl index 94e93b3e80..4f1bcc9dc3 100644 --- a/src/rabbit_mirror_queue_master.erl +++ b/src/rabbit_mirror_queue_master.erl @@ -57,8 +57,12 @@ init(#amqqueue { arguments = Args } = Q, Recover) -> {ok, CPid} = rabbit_mirror_queue_coordinator:start_link(Q, undefined), GM = rabbit_mirror_queue_coordinator:get_gm(CPid), {_Type, Nodes} = rabbit_misc:table_lookup(Args, <<"x-mirror">>), - [rabbit_mirror_queue_coordinator:add_slave(CPid, binary_to_atom(Node, utf8)) - || {longstr, Node} <- Nodes], + Nodes1 = case Nodes of + [] -> nodes(); + _ -> [list_to_atom(binary_to_list(Node)) || + {longstr, Node} <- Nodes] + end, + [rabbit_mirror_queue_coordinator:add_slave(CPid, Node) || Node <- Nodes1], {ok, BQ} = application:get_env(backing_queue_module), BQS = BQ:init(Q, Recover), #state { gm = GM, |
