diff options
| -rw-r--r-- | src/rabbit_amqqueue.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_mirror_queue_misc.erl | 2 |
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), |
