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 | f258807e5635e9e649a678d4371241258b6c1ae5 (patch) | |
| tree | 625444aceab58a7b03a09081f02f1b80b5721c7f | |
| parent | 5d4e44fb9b6c0d382cf0c2b96426f03b3558768e (diff) | |
| download | rabbitmq-server-git-f258807e5635e9e649a678d4371241258b6c1ae5.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 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), |
