diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-05-18 16:29:12 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-05-18 16:29:12 +0100 |
| commit | 1244097e1c6adb20808fda79f2a8d02b4d0d039a (patch) | |
| tree | 467394abf1ba336b16440504d38dd06107b82cfd /src | |
| parent | 99b9e4f61cfa0243817ca1ed223248586f176436 (diff) | |
| download | rabbitmq-server-git-1244097e1c6adb20808fda79f2a8d02b4d0d039a.tar.gz | |
No need to build up a list of transient queue indices to delete
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_queue_index.erl | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 40fa0be0bb..53dbf311c6 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -398,9 +398,9 @@ recover(DurableQueues) -> {error, enoent} -> [] end, DurableDirectories = sets:from_list(dict:fetch_keys(DurableDict)), - {DurableQueueNames, TransientDirs, DurableTerms} = + {DurableQueueNames, DurableTerms} = lists:foldl( - fun (QueueDir, {DurableAcc, TransientAcc, TermsAcc}) -> + fun (QueueDir, {DurableAcc, TermsAcc}) -> case sets:is_element(QueueDir, DurableDirectories) of true -> TermsAcc1 = @@ -410,15 +410,13 @@ recover(DurableQueues) -> {ok, Terms} -> [Terms | TermsAcc] end, {[dict:fetch(QueueDir, DurableDict) | DurableAcc], - TransientAcc, TermsAcc1}; + TermsAcc1}; false -> - {DurableAcc, [QueueDir | TransientAcc], TermsAcc} + Dir = filename:join(queues_dir(), QueueDir), + ok = rabbit_misc:recursive_delete([Dir]), + {DurableAcc, TermsAcc} end - end, {[], [], []}, Directories), - lists:foreach(fun (DirName) -> - Dir = filename:join(queues_dir(), DirName), - ok = rabbit_misc:recursive_delete([Dir]) - end, TransientDirs), + end, {[], []}, Directories), {DurableTerms, {fun queue_index_walker/1, {start, DurableQueueNames}}}. %%---------------------------------------------------------------------------- |
