Skip to content

Commit 5969c25

Browse files
Merge pull request #15168 from rabbitmq/mergify/bp/v4.1.x/pr-15167
CQ: Use open_eventually in recovery (backport #15136) (backport #15167)
2 parents 2903f5b + 6d73f95 commit 5969c25

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
@@ -310,7 +310,8 @@ recover_segments(State, _, StoreState, _, []) ->
310310
recover_segments(State0, ContainsCheckFun, StoreState0, CountersRef, [Segment|Tail]) ->
311311
SegmentEntryCount = segment_entry_count(),
312312
SegmentFile = segment_file(Segment, State0),
313-
{ok, Fd} = file:open(SegmentFile, [read, read_ahead, write, raw, binary]),
313+
{ok, Fd} = rabbit_file:open_eventually(SegmentFile,
314+
[read, read_ahead, write, raw, binary]),
314315
case file:read(Fd, ?HEADER_SIZE) of
315316
{ok, <<?MAGIC:32,?VERSION:8,
316317
_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
@@ -433,7 +433,7 @@ get_read_fd(Segment, State = #qs{ read_segment = Segment,
433433
{ok, Fd, State};
434434
get_read_fd(Segment, State = #qs{ read_fd = OldFd }) ->
435435
maybe_close_fd(OldFd),
436-
case file:open(segment_file(Segment, State), [read, raw, binary]) of
436+
case rabbit_file:open_eventually(segment_file(Segment, State), [read, raw, binary]) of
437437
{ok, Fd} ->
438438
case file:read(Fd, ?HEADER_SIZE) of
439439
{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)