Handle production of empty file
This commit is contained in:
parent
55386622f7
commit
e01b310d20
3 changed files with 16 additions and 15 deletions
|
@ -152,8 +152,6 @@
|
|||
{info, "File to be created as part of MSN=~w Filename=~s"}},
|
||||
{"PC013",
|
||||
{warn, "Merge resulted in empty file ~s"}},
|
||||
{"PC014",
|
||||
{info, "Empty file ~s to be cleared"}},
|
||||
{"PC015",
|
||||
{info, "File created"}},
|
||||
{"PC016",
|
||||
|
|
|
@ -319,10 +319,8 @@ do_merge(KL1, KL2, {SrcLevel, IsB}, {Filepath, MSN}, MaxSQN,
|
|||
SrcLevel + 1,
|
||||
MaxSQN),
|
||||
case Reply of
|
||||
{{[], []}, null, _} ->
|
||||
empty ->
|
||||
leveled_log:log("PC013", [FileName]),
|
||||
leveled_log:log("PC014", [FileName]),
|
||||
ok = leveled_sst:sst_clear(Pid),
|
||||
OutList;
|
||||
{{KL1Rem, KL2Rem}, SmallestKey, HighestKey} ->
|
||||
ExtMan = lists:append(OutList,
|
||||
|
|
|
@ -146,16 +146,21 @@ sst_new(Filename, Level, KVList, MaxSQN) ->
|
|||
|
||||
sst_new(Filename, KL1, KL2, IsBasement, Level, MaxSQN) ->
|
||||
{{Rem1, Rem2}, MergedList} = merge_lists(KL1, KL2, {IsBasement, Level}),
|
||||
{ok, Pid} = gen_fsm:start(?MODULE, [], []),
|
||||
case gen_fsm:sync_send_event(Pid,
|
||||
{sst_new,
|
||||
Filename,
|
||||
Level,
|
||||
MergedList,
|
||||
MaxSQN},
|
||||
infinity) of
|
||||
{ok, {SK, EK}} ->
|
||||
{ok, Pid, {{Rem1, Rem2}, SK, EK}}
|
||||
case MergedList of
|
||||
[] ->
|
||||
empty;
|
||||
_ ->
|
||||
{ok, Pid} = gen_fsm:start(?MODULE, [], []),
|
||||
case gen_fsm:sync_send_event(Pid,
|
||||
{sst_new,
|
||||
Filename,
|
||||
Level,
|
||||
MergedList,
|
||||
MaxSQN},
|
||||
infinity) of
|
||||
{ok, {SK, EK}} ->
|
||||
{ok, Pid, {{Rem1, Rem2}, SK, EK}}
|
||||
end
|
||||
end.
|
||||
|
||||
sst_newlevelzero(Filename, Slots, FetchFun, Penciller, MaxSQN) ->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue