summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-18 16:47:25 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-18 16:47:25 +0100
commit1b2194acf4ed96507129f5f50d7c7413efcbb923 (patch)
treeb60ce9de7d000ae0e24b4915337602d831abd46b
parent4e0e38054ce7c1351da8d23e50895b3dbbd37d14 (diff)
downloadrabbitmq-server-git-1b2194acf4ed96507129f5f50d7c7413efcbb923.tar.gz
Correct mistake in indexing into pairs of GC candidates
-rw-r--r--src/rabbit_msg_store.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index e46d26645f..6f1a5e6b00 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -1478,8 +1478,9 @@ find_files_to_gc(FileSummaryEts, N, First) ->
case Pairs of
[] -> undefined;
[Pair] -> Pair;
- _ -> M = 1 + (N rem length(Pairs)),
- lists:nth(M, Pairs)
+ _ -> Len = length(Pairs), %% The list is the wrong way
+ M = Len - (N rem Len), %% around, so subtract our N
+ lists:nth(M, Pairs) %% from its length
end.
find_files_to_gc(_FileSummaryEts, _N, #file_summary {}, [], Pairs) ->