summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2013-07-19 13:40:45 +0100
committerEmile Joubert <emile@rabbitmq.com>2013-07-19 13:40:45 +0100
commitf314d73b87ec497bf91c95abfdb545b189853361 (patch)
treef0d6aa5f46f4cbcaf18f24c4f32bdbb84df9a921
parent5424a13ea86566789b3fb72096c9776cc37a1bd5 (diff)
downloadrabbitmq-server-bug25671.tar.gz
Don't roll over to a lower GM view version than we have ourselvesbug25671
-rw-r--r--src/gm.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gm.erl b/src/gm.erl
index 3f0909e8..28ebfd47 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -1053,7 +1053,7 @@ prune_or_create_group(Self, GroupName, TxnFun) ->
fun () ->
GroupNew = #gm_group { name = GroupName,
members = [Self],
- version = ?VERSION_START },
+ version = get_version(Self) },
case mnesia:read({?GROUP_TABLE, GroupName}) of
[] ->
mnesia:write(GroupNew),
@@ -1294,6 +1294,8 @@ remove_erased_members(MembersState, View) ->
MembersState1)
end, blank_member_state(), all_known_members(View)).
+get_version({Version, _Pid}) -> Version.
+
get_pid({_Version, Pid}) -> Pid.
get_pids(Ids) -> [Pid || {_Version, Pid} <- Ids].