summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-05-25 13:42:34 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-05-25 13:42:34 +0100
commitbd02c71a2091d3d885ea0b74d120cb4b274b748b (patch)
treec65b1dfcc79e229343a2808fff66e468a4ff9e7f
parent2bc6a18225c1b0dea97588bb363d2589b32c1a5f (diff)
downloadrabbitmq-server-git-bd02c71a2091d3d885ea0b74d120cb4b274b748b.tar.gz
Work in gm table creation as part of the normal upgrade steps, and then assume that it'll continue to exist
-rw-r--r--src/rabbit_mirror_queue_coordinator.erl1
-rw-r--r--src/rabbit_mirror_queue_slave.erl1
-rw-r--r--src/rabbit_upgrade_functions.erl22
3 files changed, 14 insertions, 10 deletions
diff --git a/src/rabbit_mirror_queue_coordinator.erl b/src/rabbit_mirror_queue_coordinator.erl
index ee84908875..2727c1d094 100644
--- a/src/rabbit_mirror_queue_coordinator.erl
+++ b/src/rabbit_mirror_queue_coordinator.erl
@@ -324,7 +324,6 @@ ensure_monitoring(CPid, Pids) ->
init([#amqqueue { name = QueueName } = Q, GM, DeathFun]) ->
GM1 = case GM of
undefined ->
- ok = gm:create_tables(),
{ok, GM2} = gm:start_link(QueueName, ?MODULE, [self()]),
receive {joined, GM2, _Members} ->
ok
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 666687a527..678926af89 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -75,7 +75,6 @@ set_maximum_since_use(QPid, Age) ->
init([#amqqueue { name = QueueName } = Q]) ->
process_flag(trap_exit, true), %% amqqueue_process traps exits too.
- ok = gm:create_tables(),
{ok, GM} = gm:start_link(QueueName, ?MODULE, [self()]),
receive {joined, GM} ->
ok
diff --git a/src/rabbit_upgrade_functions.erl b/src/rabbit_upgrade_functions.erl
index a6f02a0e0a..04744aa461 100644
--- a/src/rabbit_upgrade_functions.erl
+++ b/src/rabbit_upgrade_functions.erl
@@ -30,21 +30,23 @@
-rabbit_upgrade({exchange_event_serial, mnesia, []}).
-rabbit_upgrade({trace_exchanges, mnesia, []}).
-rabbit_upgrade({mirror_pids, mnesia, []}).
+-rabbit_upgrade({gm, mnesia, []}).
%% -------------------------------------------------------------------
-ifdef(use_specs).
--spec(remove_user_scope/0 :: () -> 'ok').
--spec(hash_passwords/0 :: () -> 'ok').
--spec(add_ip_to_listener/0 :: () -> 'ok').
--spec(internal_exchanges/0 :: () -> 'ok').
+-spec(remove_user_scope/0 :: () -> 'ok').
+-spec(hash_passwords/0 :: () -> 'ok').
+-spec(add_ip_to_listener/0 :: () -> 'ok').
+-spec(internal_exchanges/0 :: () -> 'ok').
-spec(user_to_internal_user/0 :: () -> 'ok').
--spec(topic_trie/0 :: () -> 'ok').
+-spec(topic_trie/0 :: () -> 'ok').
-spec(exchange_event_serial/0 :: () -> 'ok').
--spec(semi_durable_route/0 :: () -> 'ok').
--spec(trace_exchanges/0 :: () -> 'ok').
--spec(mirror_pids/0 :: () -> 'ok').
+-spec(semi_durable_route/0 :: () -> 'ok').
+-spec(trace_exchanges/0 :: () -> 'ok').
+-spec(mirror_pids/0 :: () -> 'ok').
+-spec(gm/0 :: () -> 'ok').
-endif.
@@ -136,6 +138,10 @@ mirror_pids() ->
|| T <- Tables ],
ok.
+gm() ->
+ create(gm_group, [{record_name, gm_group},
+ {attributes, [name, version, members]}]).
+
%%--------------------------------------------------------------------
transform(TableName, Fun, FieldList) ->