Mas p401 coverage (#404)
* refactor leveled_sst from gen_fsm to gen_statem * format_status/2 takes State and State Data but this function is deprecated... put in for backward compatibility * refactor leveled_cdb from gen_fsm to gen_statem * disable irrelevant warning ignorer * Remove unnecessary code paths Only support messages, especially info messages, where they are possible. * Mas i1820 offlinedeserialisation cbo (#403) * Log report GC Info by manifest level * Hibernate on range query If Block Index Cache is not full, and we're not yielding * Spawn to deserialise blocks offline Hypothesis is that the growth in the heap necessary due to continual term_to_binary calls to deserialise blocks is wasting memory - so do this memory-intensive task in a short-lived process. * Start with hibernate_after option * Always build BIC Testing indicates that the BIC itself is not a primary memory issue - the primary issue is due to a lack of garbage collection and a growing heap. This change enhances the patch to offline serialisation so that: - get_sqn & get_kv are standardised to build the BIC, and hibernate when it is built. - the offline PId is linked to crash this process on failure (as would happen now). * Standardise spawning for check_block/3 Now deserialise in both parts of the code. * Only spawn for check_block if cache not full * Update following review * Standardise formatting Make test more reliable. Show no new compaction after third compaction. * Update comments --------- Co-authored-by: Thomas Arts <thomas.arts@quviq.com>
This commit is contained in:
parent
e06d2a538f
commit
3d3d284805
8 changed files with 1255 additions and 1253 deletions
|
@ -200,11 +200,15 @@ handle_work(
|
|||
list(leveled_pmanifest:manifest_entry())}.
|
||||
merge(SrcLevel, Manifest, RootPath, OptsSST) ->
|
||||
case leveled_pmanifest:report_manifest_level(Manifest, SrcLevel + 1) of
|
||||
{0, 0, undefined} ->
|
||||
{0, 0, undefined, 0, 0, 0, 0} ->
|
||||
ok;
|
||||
{FCnt, AvgMem, {MaxFN, MaxP, MaxMem}} ->
|
||||
leveled_log:log(pc023,
|
||||
[SrcLevel + 1, FCnt, AvgMem, MaxFN, MaxP, MaxMem])
|
||||
{FCnt, MnMem, {MaxFN, MaxP, MaxMem}, MnHBS, MnHS, MnLHS, MnBVHS} ->
|
||||
leveled_log:log(
|
||||
pc023,
|
||||
[SrcLevel + 1, FCnt, MnMem, MaxFN, MaxP, MaxMem]),
|
||||
leveled_log:log(
|
||||
pc025,
|
||||
[SrcLevel + 1, FCnt, MnHBS, MnHS, MnLHS, MnBVHS])
|
||||
end,
|
||||
SelectMethod =
|
||||
case leveled_rand:uniform(100) of
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue