summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-11-29 11:22:07 +0000
committerSimon MacMullen <simon@rabbitmq.com>2012-11-29 11:22:07 +0000
commit65b0ccdd03729d4fa44096f36f36868d2b864140 (patch)
treea3136a067883ab5af0eeb8fe71c5291e2cf93e91
parent02cf4f8c70db8516b6b809b89b776da3a4bd08d1 (diff)
downloadrabbitmq-server-git-65b0ccdd03729d4fa44096f36f36868d2b864140.tar.gz
Oops, didn't even compile that last one.
-rw-r--r--src/rabbit_amqqueue_process.erl9
-rw-r--r--src/rabbit_mirror_queue_master.erl13
2 files changed, 12 insertions, 10 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index c932249e25..acbea4e9f6 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -1156,13 +1156,12 @@ handle_call({requeue, AckTags, ChPid}, From, State) ->
handle_call(sync_mirrors, From,
State = #q{backing_queue = rabbit_mirror_queue_master = BQ,
backing_queue_state = BQS}) ->
- S = fun(BQSN) -> State#state{backing_queue_state = BQSN} end,
+ S = fun(BQSN) -> State#q{backing_queue_state = BQSN} end,
case BQ:depth(BQS) - BQ:len(BQS) of
0 -> gen_server2:reply(From, ok),
- case rabbit_mirror_queue_master:sync_mirrors(BQS) of
- {shutdown, Reason, BQS1} -> {stop, Reason, S(BQS1)};
- {ok, BQS1} -> noreply(S(BQS1))
- end
+ case rabbit_mirror_queue_master:sync_mirrors(BQS) of
+ {shutdown, Reason, BQS1} -> {stop, Reason, S(BQS1)};
+ {ok, BQS1} -> noreply(S(BQS1))
end;
_ -> reply({error, pending_acks}, State)
end;
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index 0e8748fd3e..439d1f4b1a 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -135,7 +135,7 @@ sync_mirrors(State = #state{name = QName}) ->
sync_mirrors([], State = #state{name = QName}) ->
rabbit_log:info("Synchronising ~s: nothing to do~n",
[rabbit_misc:rs(QName)]),
- State;
+ {ok, State};
sync_mirrors(SPids, State = #state { name = QName,
gm = GM,
backing_queue = BQ,
@@ -145,10 +145,13 @@ sync_mirrors(SPids, State = #state { name = QName,
Ref = make_ref(),
Syncer = rabbit_mirror_queue_sync:master_prepare(Ref, SPids),
gm:broadcast(GM, {sync_start, Ref, Syncer, SPids}),
- BQS1 = rabbit_mirror_queue_sync:master_go(Syncer, Ref, QName, BQ, BQS),
- rabbit_log:info("Synchronising ~s: complete~n",
- [rabbit_misc:rs(QName)]),
- State#state{backing_queue_state = BQS1}.
+ S = fun(BQSN) -> State#state{backing_queue_state = BQSN} end,
+ case rabbit_mirror_queue_sync:master_go(Syncer, Ref, QName, BQ, BQS) of
+ {shutdown, R, BQS1} -> {stop, R, S(BQS1)};
+ {ok, BQS1} -> rabbit_log:info("Synchronising ~s: complete~n",
+ [rabbit_misc:rs(QName)]),
+ {ok, S(BQS1)}
+ end.
terminate({shutdown, dropped} = Reason,
State = #state { backing_queue = BQ,