summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2013-12-17 17:34:18 +0000
committerTim Watson <tim@rabbitmq.com>2013-12-17 17:34:18 +0000
commit83868a297916f8214d56ae5b48520c28d855b8ba (patch)
tree14bcb28fb2ba707aa71e18945bd8321b20c2cf06
parent267137d93cdc5fa5f6a6f9c7853b9d6d1de52515 (diff)
downloadrabbitmq-server-83868a297916f8214d56ae5b48520c28d855b8ba.tar.gz
Ensure old clean.dot files are removed during recovery
We also ignore the .dets index file whilst processing the old shutdown term files, since the names no longer match. If file deletion fails, we log the filename and posix error.
-rw-r--r--src/rabbit_recovery_indexes.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rabbit_recovery_indexes.erl b/src/rabbit_recovery_indexes.erl
index 2890b2f3..5ad6b925 100644
--- a/src/rabbit_recovery_indexes.erl
+++ b/src/rabbit_recovery_indexes.erl
@@ -76,8 +76,15 @@ upgrade_recovery_indexes() ->
fun(F, Acc) -> [F|Acc] end, []),
[begin
{ok, Terms} = rabbit_file:read_term_file(File),
- ok = store_recovery_terms(File, Terms)
- end || File <- lists:delete(dets_filename(), DotFiles)],
+ ok = store_recovery_terms(File, Terms),
+ case file:delete(File) of
+ {error, E} ->
+ rabbit_log:warning("Unable to delete recovery index"
+ "~s during upgrade: ~p~n", [File, E]);
+ ok ->
+ ok
+ end
+ end || File <- DotFiles],
ok
after
flush()