summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_mirror_queue_master.erl8
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,