summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-01-30 15:58:19 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2014-01-30 15:58:19 +0000
commit95bce23e626c5911ea7787733437f0d8b6ed42cd (patch)
tree43e99ac8ac98d6f190957757e08167d1dfd829e1
parent809d09982022889cb53e00323a69fcb07787dabe (diff)
downloadrabbitmq-server-bug25827.tar.gz
unbreak durable queue dir cleanupbug25827
all_queue_directory_names returns just names, not paths Also, gain some efficiency by performing just one invocation of rabbit_file:recursive_delete/1, with all dirs. And some cosmetics.
-rw-r--r--src/rabbit_queue_index.erl12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index b5a316f0..919b7376 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -358,9 +358,10 @@ start(DurableQueueNames) ->
%% Any queue directory we've not been asked to recover is considered garbage
QueuesDir = queues_dir(),
- [rabbit_file:recursive_delete([QueueDir]) ||
- QueueDir <- all_queue_directory_names(QueuesDir),
- not sets:is_element(filename:basename(QueueDir), DurableDirectories)],
+ rabbit_file:recursive_delete(
+ [filename:join(QueuesDir, DirName) ||
+ DirName <- all_queue_directory_names(QueuesDir),
+ not sets:is_element(DirName, DurableDirectories)]),
rabbit_recovery_terms:clear(),
@@ -373,9 +374,8 @@ stop() -> rabbit_recovery_terms:stop().
all_queue_directory_names(Dir) ->
case rabbit_file:list_dir(Dir) of
- {ok, Entries} -> [ Entry || Entry <- Entries,
- rabbit_file:is_dir(
- filename:join(Dir, Entry)) ];
+ {ok, Entries} -> [E || E <- Entries,
+ rabbit_file:is_dir(filename:join(Dir, E))];
{error, enoent} -> []
end.