summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-07-26 18:39:12 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-07-26 18:39:12 +0100
commitf258807e5635e9e649a678d4371241258b6c1ae5 (patch)
tree625444aceab58a7b03a09081f02f1b80b5721c7f
parent5d4e44fb9b6c0d382cf0c2b96426f03b3558768e (diff)
downloadrabbitmq-server-git-f258807e5635e9e649a678d4371241258b6c1ae5.tar.gz
Wipe out slave pids whenever we start up a queue.
-rw-r--r--src/rabbit_amqqueue.erl3
-rw-r--r--src/rabbit_mirror_queue_slave.erl5
2 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index e9d01d12ad..d6e1047187 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -254,7 +254,8 @@ determine_queue_nodes(Args) ->
end.
start_queue_process(Node, Q) ->
- {ok, Pid} = rabbit_amqqueue_sup:start_child(Node, [Q]),
+ {ok, Pid} = rabbit_amqqueue_sup:start_child(Node,
+ [Q#amqqueue{slave_pids = []}]),
Q#amqqueue{pid = Pid}.
add_default_binding(#amqqueue{name = QueueName}) ->
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index b38a8967f0..84efb7ca4f 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -89,9 +89,8 @@ init([#amqqueue { name = QueueName } = Q]) ->
%% ASSERTION
[] = [Pid || Pid <- [QPid | MPids], node(Pid) =:= Node],
MPids1 = MPids ++ [Self],
- mnesia:write(rabbit_queue,
- Q1 #amqqueue { slave_pids = MPids1 },
- write),
+ ok = rabbit_amqqueue:store_queue(
+ Q1 #amqqueue { slave_pids = MPids1 }),
{ok, QPid}
end),
erlang:monitor(process, MPid),