diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-12-08 16:26:54 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-12-08 16:26:54 +0000 |
| commit | ae4e7cff60352090417d4efe3b8d8bae4a3be80e (patch) | |
| tree | 3ae66ce3ab3efa39e87521cde3780697f66a55bf /src | |
| parent | 18bf78777256f58ccea9b42e24e4066efa948188 (diff) | |
| download | rabbitmq-server-git-ae4e7cff60352090417d4efe3b8d8bae4a3be80e.tar.gz | |
On other node death, don't delete queues which still have some extra pids.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index e322e844e1..f525ffd1ad 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -492,9 +492,11 @@ on_node_down(Node) -> rabbit_binding:new_deletions(), rabbit_misc:execute_mnesia_transaction( fun () -> qlc:e(qlc:q([delete_queue(QueueName) || - #amqqueue{name = QueueName, pid = Pid} + #amqqueue{name = QueueName, pid = Pid, + extra_pids = EPids} <- mnesia:table(rabbit_queue), - node(Pid) == Node])) + node(Pid) == Node, + [] =:= EPids])) end))). delete_queue(QueueName) -> |
