diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-26 18:39:12 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-26 18:39:12 +0100 |
commit | a3bc422fa3e94686025d651f9326bb90c46f5158 (patch) | |
tree | 625444aceab58a7b03a09081f02f1b80b5721c7f | |
parent | 9433b14ae3f0e864895b0b02837b7598cadfe32c (diff) | |
download | rabbitmq-server-a3bc422fa3e94686025d651f9326bb90c46f5158.tar.gz |
Wipe out slave pids whenever we start up a queue.
-rw-r--r-- | src/rabbit_amqqueue.erl | 3 | ||||
-rw-r--r-- | src/rabbit_mirror_queue_slave.erl | 5 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index e9d01d12..d6e10471 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 b38a8967..84efb7ca 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), |