Random, random, random
well random had me foxed. As the clone was short-lived process it only called random once - and so always got the same answer. random has to be seeded to give different answers when called once from a process - so this is now seeded in leveed_log
This commit is contained in:
parent
eb6f668fcd
commit
c1dc92720c
2 changed files with 15 additions and 2 deletions
|
@ -26,6 +26,8 @@
|
||||||
|
|
||||||
{"G0001",
|
{"G0001",
|
||||||
{info, "Generic log point"}},
|
{info, "Generic log point"}},
|
||||||
|
{"G0002",
|
||||||
|
{info, "Generic log point with term ~w"}},
|
||||||
{"D0001",
|
{"D0001",
|
||||||
{debug, "Generic debug log"}},
|
{debug, "Generic debug log"}},
|
||||||
|
|
||||||
|
@ -133,6 +135,8 @@
|
||||||
{info, "Garbage collection on manifest removes key for filename ~s"}},
|
{info, "Garbage collection on manifest removes key for filename ~s"}},
|
||||||
{"P0037",
|
{"P0037",
|
||||||
{info, "Merging of penciller L0 tree to size ~w complete"}},
|
{info, "Merging of penciller L0 tree to size ~w complete"}},
|
||||||
|
{"P0038",
|
||||||
|
{info, "Bad record when closing manifest ~w"}},
|
||||||
|
|
||||||
{"PC001",
|
{"PC001",
|
||||||
{info, "Penciller's clerk ~w started with owner ~w"}},
|
{info, "Penciller's clerk ~w started with owner ~w"}},
|
||||||
|
@ -351,7 +355,10 @@ log_timer(LogReference, Subs, StartTime) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
log_randomtimer(LogReference, Subs, StartTime, RandomProb) ->
|
log_randomtimer(LogReference, Subs, StartTime, RandomProb) ->
|
||||||
case random:uniform() < RandomProb of
|
{R, _S} = random:uniform_s({erlang:phash2(self()),
|
||||||
|
element(2, StartTime),
|
||||||
|
element(3, StartTime)}),
|
||||||
|
case R < RandomProb of
|
||||||
true ->
|
true ->
|
||||||
log_timer(LogReference, Subs, StartTime);
|
log_timer(LogReference, Subs, StartTime);
|
||||||
false ->
|
false ->
|
||||||
|
|
|
@ -595,7 +595,13 @@ terminate(Reason, State) ->
|
||||||
% Tidy shutdown of individual files
|
% Tidy shutdown of individual files
|
||||||
EntryCloseFun =
|
EntryCloseFun =
|
||||||
fun(ME) ->
|
fun(ME) ->
|
||||||
ok = leveled_sst:sst_close(ME#manifest_entry.owner)
|
case is_record(ME, manifest_entry) of
|
||||||
|
true ->
|
||||||
|
ok = leveled_sst:sst_close(ME#manifest_entry.owner);
|
||||||
|
false ->
|
||||||
|
{_SK, ME0} = ME,
|
||||||
|
ok = leveled_sst:sst_close(ME0#manifest_entry.owner)
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
leveled_pmanifest:close_manifest(State#state.manifest, EntryCloseFun),
|
leveled_pmanifest:close_manifest(State#state.manifest, EntryCloseFun),
|
||||||
leveled_log:log("P0011", []),
|
leveled_log:log("P0011", []),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue