summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-04-13 19:14:36 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2014-04-13 19:14:36 +0100
commitf168a0ba576b494bfef739b4c0b995ebf3b29418 (patch)
tree473118540d9646824558e968f391b07da4e95095
parenteb2f22387ec2b4cf76e89fac8a5f8a146d15d032 (diff)
downloadrabbitmq-server-f168a0ba576b494bfef739b4c0b995ebf3b29418.tar.gz
ensure callback_view_changed is called whenever the view may have changed
We had missed a case here. Ditto for check_neighbours.
-rw-r--r--src/gm.erl16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gm.erl b/src/gm.erl
index 250a8de8..c9ae9ced 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -1198,14 +1198,14 @@ maybe_erase_aliases(State = #state { self = Self,
false -> Acc
end
end, {[], MembersState}, Aliases),
- State1 = State #state { members_state = MembersState1 },
- case Erasable of
- [] -> {ok, State1 #state { view = View }};
- _ -> View1 = group_to_view(
- erase_members_in_group(Erasable, GroupName, TxnFun)),
- {callback_view_changed(Args, Module, View0, View1),
- check_neighbours(State1 #state { view = View1 })}
- end.
+ View1 = case Erasable of
+ [] -> View;
+ _ -> group_to_view(
+ erase_members_in_group(Erasable, GroupName, TxnFun))
+ end,
+ State1 = State #state { members_state = MembersState1, view = View1 },
+ {callback_view_changed(Args, Module, View0, View1),
+ check_neighbours(State1)}.
can_erase_view_member(Self, Self, _LA, _LP) -> false;
can_erase_view_member(_Self, _Id, N, N) -> true;