diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2011-03-11 17:19:24 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-03-11 17:19:24 +0000 |
| commit | c1c5de621a572768383ccc78f5a2ff58ff40b7aa (patch) | |
| tree | f108a096a246faea60533982815d0ee87130bb3a /src | |
| parent | 8504d1c5fd80b6c246102158f6cb8885778d8712 (diff) | |
| download | rabbitmq-server-git-c1c5de621a572768383ccc78f5a2ff58ff40b7aa.tar.gz | |
Make slaves rejoin on boot
Diffstat (limited to 'src')
| -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), |
