summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_msg_store.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index c21e4bd9da..798e9d655f 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -792,11 +792,12 @@ build_index(Files, State) ->
build_index(Left, [], FilesToCompact, State) ->
ok = index_delete_by_file(undefined, State),
- Offset = case lists:reverse(index_search_by_file(Left, State)) of
- [] -> 0;
- [#msg_location { offset = MaxOffset,
- total_size = TotalSize } | _] ->
- MaxOffset + TotalSize
+ Offset = case index_search_by_file(Left, State) of
+ [] -> 0;
+ List -> #msg_location { offset = MaxOffset,
+ total_size = TotalSize } =
+ lists:last(List),
+ MaxOffset + TotalSize
end,
{Offset, compact(FilesToCompact, %% this never includes the current file
State #msstate { current_file = Left })};