summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2013-06-21 15:42:33 +0100
committerEmile Joubert <emile@rabbitmq.com>2013-06-21 15:42:33 +0100
commit3510e978e52975f752a0ecdbd051336c3d067e89 (patch)
treef524dfb798384098012fb88c1ba99643e1f3e586 /src
parent485016c3457a0fe24e89f45ccd6de22f263a0253 (diff)
parent1001ba601f49d6f4d0c4515f7f06c7e0b5bb8b21 (diff)
downloadrabbitmq-server-git-3510e978e52975f752a0ecdbd051336c3d067e89.tar.gz
Merged stable into default
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl5
-rw-r--r--src/rabbit_mirror_queue_misc.erl2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 74fd70ae68..767abeb03d 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -284,7 +284,10 @@ update(Name, Fun) ->
end.
store_queue(Q = #amqqueue{durable = true}) ->
- ok = mnesia:write(rabbit_durable_queue, Q#amqqueue{slave_pids = []}, write),
+ ok = mnesia:write(rabbit_durable_queue,
+ Q#amqqueue{slave_pids = [],
+ sync_slave_pids = [],
+ gm_pids = []}, write),
ok = mnesia:write(rabbit_queue, Q, write),
ok;
store_queue(Q = #amqqueue{durable = false}) ->
diff --git a/src/rabbit_mirror_queue_misc.erl b/src/rabbit_mirror_queue_misc.erl
index 529351a2bd..1b87694f8a 100644
--- a/src/rabbit_mirror_queue_misc.erl
+++ b/src/rabbit_mirror_queue_misc.erl
@@ -215,6 +215,8 @@ report_deaths(MirrorPid, IsMaster, QueueName, DeadPids) ->
store_updated_slaves(Q = #amqqueue{slave_pids = SPids,
sync_slave_pids = SSPids}) ->
+ %% TODO now that we clear sync_slave_pids in rabbit_durable_queue,
+ %% do we still need this?
SSPids1 = [SSPid || SSPid <- SSPids, lists:member(SSPid, SPids)],
Q1 = Q#amqqueue{sync_slave_pids = SSPids1},
ok = rabbit_amqqueue:store_queue(Q1),