summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Harrop <rob@rabbitmq.com>2011-08-04 11:26:15 +0100
committerRob Harrop <rob@rabbitmq.com>2011-08-04 11:26:15 +0100
commit55116c93feb00f5cd9fb09a50199f4223b08c713 (patch)
tree8a81f1c79eedc661bf9f19f0a09780cde8d2c908
parent6f2c6d9527d38122d7cd113c0e65f1c80ddb0036 (diff)
parentc6f5efd888d0068b5242aed9721b9b9f476af3c1 (diff)
downloadrabbitmq-server-git-55116c93feb00f5cd9fb09a50199f4223b08c713.tar.gz
Merge bug24305 into default
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_mirror_queue_slave.erl5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index eae6312b1a..a7c92e51eb 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -224,7 +224,7 @@ internal_declare(Q = #amqqueue{name = QueueName}, false) ->
end).
store_queue(Q = #amqqueue{durable = true}) ->
- ok = mnesia:write(rabbit_durable_queue, Q, write),
+ ok = mnesia:write(rabbit_durable_queue, Q#amqqueue{slave_pids = []}, write),
ok = mnesia:write(rabbit_queue, Q, write),
ok;
store_queue(Q = #amqqueue{durable = false}) ->
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 12b6f3ca2e..c918f388ea 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),