diff options
| -rw-r--r-- | src/rabbit_queue_index.erl | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 003e2d625d..2007b00eab 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -384,15 +384,16 @@ maybe_flush_journal(State) -> State. all_segment_nums(#qistate { dir = Dir, segments = Segments }) -> - sets:to_list( - lists:foldl( - fun (SegName, Set) -> - sets:add_element( - list_to_integer( - lists:takewhile(fun(C) -> $0 =< C andalso C =< $9 end, - SegName)), Set) - end, sets:from_list(segment_fetch_keys(Segments)), - filelib:wildcard("*" ++ ?SEGMENT_EXTENSION, Dir))). + lists:sort( + sets:to_list( + lists:foldl( + fun (SegName, Set) -> + sets:add_element( + list_to_integer( + lists:takewhile(fun(C) -> $0 =< C andalso C =< $9 end, + SegName)), Set) + end, sets:from_list(segment_fetch_keys(Segments)), + filelib:wildcard("*" ++ ?SEGMENT_EXTENSION, Dir)))). blank_state(QueueName) -> StrName = queue_name_to_dir_name(QueueName), |
