Skip to content

Commit d776bce

Browse files
authored
Merge pull request #200 from rabbitmq/set_current_file
Set current_file when reading osiris log
2 parents 8e0b786 + c6678c8 commit d776bce

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/osiris_log.erl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
get_directory/1,
4545
get_name/1,
4646
get_shared/1,
47+
get_current_file/1,
4748
get_default_max_segment_size_bytes/0,
4849
counters_ref/1,
4950
close/1,
@@ -1074,6 +1075,7 @@ init_data_reader_at(ChunkId, FilePos, File,
10741075
readers_counter_fun = CountersFun,
10751076
shared = Shared
10761077
},
1078+
current_file = filename:basename(File),
10771079
mode =
10781080
#read{type = data,
10791081
next_offset = ChunkId,
@@ -1297,6 +1299,7 @@ open_offset_reader_at(SegmentFile, NextChunkId, FilePos,
12971299
readers_counter_fun = ReaderCounterFun,
12981300
shared = Shared
12991301
},
1302+
current_file = filename:basename(SegmentFile),
13001303
mode = #read{type = offset,
13011304
position = FilePos,
13021305
chunk_selector = maps:get(chunk_selector, Options,
@@ -1372,6 +1375,9 @@ last_chunk_id(#?MODULE{cfg = #cfg{shared = Ref}}) ->
13721375
get_current_epoch(#?MODULE{mode = #write{current_epoch = Epoch}}) ->
13731376
Epoch.
13741377

1378+
-spec get_current_file(state()) -> file:filename_all().
1379+
get_current_file(#?MODULE{current_file = File}) -> File.
1380+
13751381
-spec get_directory(state()) -> file:filename_all().
13761382
get_directory(#?MODULE{cfg = #cfg{directory = Dir}}) ->
13771383
Dir.

test/osiris_SUITE.erl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ all_tests() ->
8282
cluster_deduplication,
8383
cluster_deduplication_order,
8484
writers_retention,
85+
osiris_reader_set_current_file,
8586
single_node_reader_counters,
8687
cluster_reader_counters,
8788
combine_ips_hosts_test,
@@ -468,6 +469,17 @@ single_node_offset_listener(Config) ->
468469
flush(),
469470
ok.
470471

472+
osiris_reader_set_current_file(Config) ->
473+
Name = ?config(cluster_name, Config),
474+
Conf0 =
475+
#{name => Name,
476+
epoch => 1,
477+
leader_node => node(),
478+
replica_nodes => []},
479+
{ok, #{leader_pid := Leader}} = osiris:start_cluster(Conf0),
480+
{ok, Log0} = osiris:init_reader(Leader, next, {offset_reader_1, []}),
481+
?assertEqual(<<"00000000000000000000.segment">>, osiris_log:get_current_file(Log0)).
482+
471483
single_node_reader_counters(Config) ->
472484
Name = ?config(cluster_name, Config),
473485
Conf0 =

0 commit comments

Comments
 (0)