summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) ->