diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2014-04-13 19:14:36 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2014-04-13 19:14:36 +0100 |
| commit | 6f560a10337d8a066f460d5c044380b25bfb2473 (patch) | |
| tree | 473118540d9646824558e968f391b07da4e95095 | |
| parent | 6be053f7c42f39f1d043822c3e421b6d3804fdb6 (diff) | |
| download | rabbitmq-server-git-6f560a10337d8a066f460d5c044380b25bfb2473.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.erl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gm.erl b/src/gm.erl index 250a8de88c..c9ae9ced24 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; |
