summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_queue_index.erl16
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}}}.
%%----------------------------------------------------------------------------