summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-07-09 18:30:52 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-07-09 18:30:52 +0100
commit33bc43685c1959040f4ff0851516b590084bd346 (patch)
tree6f7011156951fe54da286ae695c2275cb6e801a1 /src
parentd01e05ef21c97d09e6395d12db214eda4ae75e15 (diff)
downloadrabbitmq-server-git-33bc43685c1959040f4ff0851516b590084bd346.tar.gz
Various fixes.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl24
-rw-r--r--src/rabbit_mirror_queue_master.erl2
2 files changed, 9 insertions, 17 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 5a3361ab3e..9404c53f40 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -923,19 +923,19 @@ i(consumers, _) ->
i(memory, _) ->
{memory, M} = process_info(self(), memory),
M;
-i(slave_pids, #q{q = Q = #amqqueue{name = Name}}) ->
+i(slave_pids, #q{q = #amqqueue{name = Name}}) ->
+ {ok, Q = #amqqueue{slave_pids = SPids}} =
+ rabbit_amqqueue:lookup(Name),
case rabbit_mirror_queue_misc:is_mirrored(Q) of
false -> '';
- true -> {ok, #amqqueue{slave_pids = SPids}} =
- rabbit_amqqueue:lookup(Name),
- SPids
+ true -> SPids
end;
-i(synchronised_slave_pids, #q{q = Q = #amqqueue{name = Name}}) ->
+i(synchronised_slave_pids, #q{q = #amqqueue{name = Name}}) ->
+ {ok, Q = #amqqueue{sync_slave_pids = SSPids}} =
+ rabbit_amqqueue:lookup(Name),
case rabbit_mirror_queue_misc:is_mirrored(Q) of
false -> '';
- true -> {ok, #amqqueue{sync_slave_pids = SSPids}} =
- rabbit_amqqueue:lookup(Name),
- SSPids
+ true -> SSPids
end;
i(backing_queue_status, #q{backing_queue_state = BQS, backing_queue = BQ}) ->
BQ:status(BQS);
@@ -1191,14 +1191,6 @@ handle_call(stop_mirroring, _From, State = #q{backing_queue = BQ,
backing_queue_state = BQS}) ->
BQ = rabbit_mirror_queue_master, %% assertion
{BQ1, BQS1} = BQ:stop_mirroring(BQS),
- rabbit_misc:execute_mnesia_transaction(
- fun () ->
- case mnesia:read({rabbit_queue, qname(State)}) of
- [] -> ok;
- [Q] -> rabbit_amqqueue:store_queue(
- Q#amqqueue{slave_pids = undefined})
- end
- end),
reply(ok, State#q{backing_queue = BQ1,
backing_queue_state = BQS1});
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index e5ca085dbc..2a04d87250 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -111,7 +111,7 @@ stop_mirroring(State = #state { coordinator = CPid,
backing_queue = BQ,
backing_queue_state = BQS }) ->
unlink(CPid),
- stop_all_slaves(unmirroring, State),
+ stop_all_slaves(shutdown, State),
{BQ, BQS}.
terminate({shutdown, dropped} = Reason,