diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2012-10-05 14:13:10 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2012-10-05 14:13:10 +0100 |
| commit | d48b26b89cf36536f2a85af99784883177413da1 (patch) | |
| tree | e8f04d9b477423ee207d32229e32efe2a7bb195f | |
| parent | 12558dfe9c50017cf3e3b009805d2ba911b2e9e3 (diff) | |
| download | rabbitmq-server-git-d48b26b89cf36536f2a85af99784883177413da1.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.erl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl index 15ab94249f..ea98430cbb 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, |
