Skip to content

Commit

Permalink
Merge pull request #281 from martinsumner/mas-i280-manifesttidy
Browse files Browse the repository at this point in the history
GC manifest files when numbers skipped
  • Loading branch information
martinsumner authored May 23, 2019
2 parents 9efd973 + e360b97 commit bc14a19
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/leveled_pmanifest.erl
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,13 @@ save_manifest(Manifest, RootPath) ->
% delete the previous one straight away. Retain until enough have been
% kept to make the probability of all being independently corrupted
% through separate events negligible
ok = remove_manifest(RootPath, GC_SQN),
% Sometimes we skip a SQN, so to GC all may need to clear up previous
% as well
ok = remove_manifest(RootPath, GC_SQN - 1).

-spec remove_manifest(string(), integer()) -> ok.
remove_manifest(RootPath, GC_SQN) ->
LFP = filepath(RootPath, GC_SQN, current_manifest),
ok =
case filelib:is_file(LFP) of
Expand All @@ -217,6 +224,7 @@ save_manifest(Manifest, RootPath) ->
ok
end.


-spec replace_manifest_entry(manifest(), integer(), integer(),
list()|manifest_entry(),
list()|manifest_entry()) -> manifest().
Expand Down
8 changes: 8 additions & 0 deletions test/end_to_end/basic_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,14 @@ load_and_count(JournalSize, BookiesMemSize, PencillerMemSize) ->
{ok, Bookie2} = leveled_bookie:book_start(StartOpts1),
{_, 300000} = testutil:check_bucket_stats(Bookie2, "Bucket"),
ok = leveled_bookie:book_close(Bookie2),
ManifestFP =
leveled_pmanifest:filepath(filename:join(RootPath, ?LEDGER_FP),
manifest),
IsManifest = fun(FN) -> filename:extension(FN) == ".man" end,
{ok, RawManList} = file:list_dir(ManifestFP),
ManList = lists:filter(IsManifest, RawManList),
io:format("Length of manifest file list ~w~n", [length(ManList)]),
true = length(ManList) =< 5,
testutil:reset_filestructure().

load_and_count_withdelete(_Config) ->
Expand Down

0 comments on commit bc14a19

Please sign in to comment.