Skip to content

Commit cb79c3c

Browse files
Merge pull request #15136 from rabbitmq/loic-cq-open-eventually-in-recovery
CQ: Use open_eventually in recovery
2 parents fc20eac + ba71e66 commit cb79c3c

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

deps/rabbit/src/rabbit_classic_queue_index_v2.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,8 @@ recover_segments(State, _, StoreState, _, []) ->
262262
recover_segments(State0, ContainsCheckFun, StoreState0, CountersRef, [Segment|Tail]) ->
263263
SegmentEntryCount = segment_entry_count(),
264264
SegmentFile = segment_file(Segment, State0),
265-
{ok, Fd} = file:open(SegmentFile, [read, read_ahead, write, raw, binary]),
265+
{ok, Fd} = rabbit_file:open_eventually(SegmentFile,
266+
[read, read_ahead, write, raw, binary]),
266267
case file:read(Fd, ?HEADER_SIZE) of
267268
{ok, <<?MAGIC:32,?VERSION:8,
268269
_FromSeqId:64/unsigned,_ToSeqId:64/unsigned,

deps/rabbit/src/rabbit_classic_queue_store_v2.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ get_read_fd(Segment, State = #qs{ read_segment = Segment,
435435
{ok, Fd, State};
436436
get_read_fd(Segment, State = #qs{ read_fd = OldFd }) ->
437437
maybe_close_fd(OldFd),
438-
case file:open(segment_file(Segment, State), [read, raw, binary]) of
438+
case rabbit_file:open_eventually(segment_file(Segment, State), [read, raw, binary]) of
439439
{ok, Fd} ->
440440
case file:read(Fd, ?HEADER_SIZE) of
441441
{ok, <<?MAGIC:32,?VERSION:8,

deps/rabbit/src/rabbit_file.erl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,5 +368,8 @@ open_eventually(File, Modes, N) ->
368368
%% try again up to 3 times.
369369
{error, eacces} ->
370370
timer:sleep(10),
371-
open_eventually(File, Modes, N - 1)
371+
open_eventually(File, Modes, N - 1);
372+
%% Other errors we return immediately.
373+
Error ->
374+
Error
372375
end.

0 commit comments

Comments
 (0)