diff options
author | Tim Watson <tim@rabbitmq.com> | 2013-12-17 17:34:18 +0000 |
---|---|---|
committer | Tim Watson <tim@rabbitmq.com> | 2013-12-17 17:34:18 +0000 |
commit | 83868a297916f8214d56ae5b48520c28d855b8ba (patch) | |
tree | 14bcb28fb2ba707aa71e18945bd8321b20c2cf06 | |
parent | 267137d93cdc5fa5f6a6f9c7853b9d6d1de52515 (diff) | |
download | rabbitmq-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.erl | 11 |
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() |