summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-10-05 14:13:10 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-10-05 14:13:10 +0100
commit7ce9e388db84f591f539e0245fa05c8563f8daed (patch)
treee8f04d9b477423ee207d32229e32efe2a7bb195f
parent457890b467765d57133e63b13db86690b32cc26b (diff)
downloadrabbitmq-server-7ce9e388db84f591f539e0245fa05c8563f8daed.tar.gz
Do not start slaves in init_with_existing_bq/3 since we will only get here via rabbit_mirror_queue_misc:update_mirrors/2 which will start them anyway.
-rw-r--r--src/rabbit_mirror_queue_master.erl13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index 15ab9424..ea98430c 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -88,18 +88,19 @@ stop() ->
%% Same as start/1.
exit({not_valid_for_generic_backing_queue, ?MODULE}).
-init(Q, Recover, AsyncCallback) ->
+init(Q = #amqqueue{name = QName}, Recover, AsyncCallback) ->
{ok, BQ} = application:get_env(backing_queue_module),
BQS = BQ:init(Q, Recover, AsyncCallback),
- init_with_existing_bq(Q, BQ, BQS).
+ State = #state{gm = GM} = init_with_existing_bq(Q, BQ, BQS),
+ {_MNode, SNodes} = rabbit_mirror_queue_misc:suggested_queue_nodes(Q),
+ rabbit_mirror_queue_misc:add_mirrors(QName, SNodes),
+ ok = gm:broadcast(GM, {depth, BQ:depth(BQS)}),
+ State.
-init_with_existing_bq(#amqqueue { name = QName } = Q, BQ, BQS) ->
+init_with_existing_bq(Q, BQ, BQS) ->
{ok, CPid} = rabbit_mirror_queue_coordinator:start_link(
Q, undefined, sender_death_fun(), depth_fun()),
GM = rabbit_mirror_queue_coordinator:get_gm(CPid),
- {_MNode, SNodes} = rabbit_mirror_queue_misc:suggested_queue_nodes(Q),
- rabbit_mirror_queue_misc:add_mirrors(QName, SNodes),
- ok = gm:broadcast(GM, {depth, BQ:depth(BQS)}),
#state { gm = GM,
coordinator = CPid,
backing_queue = BQ,