diff options
| -rw-r--r-- | src/rabbit_mirror_queue_misc.erl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl index 51c2a28a4b..bf341c74e8 100644 --- a/src/rabbit_mirror_queue_misc.erl +++ b/src/rabbit_mirror_queue_misc.erl @@ -83,8 +83,17 @@ on_node_up() -> fun (#amqqueue{ arguments = Args, name = QName }, QsN) -> case rabbit_misc:table_lookup( Args, <<"x-mirror">>) of - {_Type, []} -> [QName | QsN]; - _ -> QsN + {_Type, []} -> + [QName | QsN]; + {_Type, Nodes} -> + Nodes1 = [list_to_atom(binary_to_list(Node)) + || {longstr, Node} <- Nodes], + case lists:member(node(), Nodes1) of + true -> [QName | QsN]; + false -> QsN + end; + _ -> + QsN end end, [], rabbit_queue) end), |
