summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2012-05-25 15:55:02 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2012-05-25 15:55:02 +0100
commit6338e97da160f27257fc38955e448146033f5ccc (patch)
treef2a2a75dc17346d47c3019295bbbad61719bf938
parentc9edcc8a9f35acee3adcd97702df3b05214ca85a (diff)
downloadrabbitmq-server-bug24622.tar.gz
cosmetic, plus add assertionbug24622
-rw-r--r--src/gm.erl20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/gm.erl b/src/gm.erl
index b2ec3081..7d24132f 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -737,15 +737,17 @@ handle_msg({catchup, Left, Ver, MembersStateLeft},
view = View,
members_state = undefined }) ->
case view_version(View) of
- Ver -> ok = send_right(Right, View,
- {catchup, Self, Ver, MembersStateLeft}),
- MembersStateLeft1 = build_members_state(MembersStateLeft),
- {ok, State #state { members_state = MembersStateLeft1 }};
- %% ignore catchup with out-of-date view, see
- %% handle_call({add_on_right, ...). In this case we *know*
- %% that there will be another catchup message along in a
- %% minute (this one was a side effect of a retried tx).
- _ -> {ok, State}
+ Ver -> ok = send_right(Right, View,
+ {catchup, Self, Ver, MembersStateLeft}),
+ MembersStateLeft1 = build_members_state(MembersStateLeft),
+ {ok, State #state { members_state = MembersStateLeft1 }};
+ MyVer -> %% ignore catchup with out-of-date view, see
+ %% handle_call({add_on_right, ...). In this case we
+ %% *know* that there will be another catchup message
+ %% along in a minute (this one was a side effect of a
+ %% retried tx).
+ true = MyVer > Ver, %% ASSERTION
+ {ok, State}
end;
handle_msg({catchup, Left, _Ver, MembersStateLeft},