summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_mirror_queue_misc.erl6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl
index ad9dfa0d1b..ebaae99539 100644
--- a/src/rabbit_mirror_queue_misc.erl
+++ b/src/rabbit_mirror_queue_misc.erl
@@ -291,8 +291,6 @@ update_mirrors0(OldQ = #amqqueue{name = QName},
All = fun ({A,B}) -> [A|B] end,
OldNodes = All(actual_queue_nodes(OldQ)),
NewNodes = All(suggested_queue_nodes(NewQ)),
- Add = NewNodes -- OldNodes,
- Remove = OldNodes -- NewNodes,
%% When a mirror dies, remove_from_queue/2 might have to add new
%% slaves (in "exactly" mode). It will check mnesia to see which
%% slaves there currently are. If drop_mirror/2 is invoked first
@@ -300,6 +298,6 @@ update_mirrors0(OldQ = #amqqueue{name = QName},
%% slaves that add_mirror/2 will add, and also want to add them
%% (even though we are not responding to the death of a
%% mirror). Breakage ensues.
- [ok = add_mirror(QName, Node) || Node <- Add],
- [ok = drop_mirror(QName, Node) || Node <- Remove],
+ [ok = add_mirror(QName, Node) || Node <- NewNodes -- OldNodes],
+ [ok = drop_mirror(QName, Node) || Node <- OldNodes -- NewNodes],
ok.