Skip to content

Oak 2.0.0 plus fixes#2913

Draft
reschke wants to merge 2 commits into
trunkfrom
OAK-2.0.0-plus-fixes
Draft

Oak 2.0.0 plus fixes#2913
reschke wants to merge 2 commits into
trunkfrom
OAK-2.0.0-plus-fixes

Conversation

@reschke
Copy link
Copy Markdown
Contributor

@reschke reschke commented May 21, 2026

(no intent to actually merge this, it's just for validation)

joerghoh and others added 2 commits May 20, 2026 11:57
* don't write files which are already on disk
* add unit-test
…ncy accurate (#2903)

* OAK-12214 : segment cache: notify L2 on L1 hits to keep frequency/recency accurate

L1 memoization in SegmentId serves most segment reads without touching L2.
This means W-TinyLFU admission sketches and LRU recency lists never see hot
segments, and the eviction policy treats them as cold — potentially evicting
them under pressure.

SegmentCache.recordHit(SegmentId) now calls cache.getIfPresent(id) to
register the access with the L2 backing store. The behaviour is controlled
by feature toggle FT_NOTIFY_L2_OAK-12214 (enabled by default). Also adds
cleanUp() to flush pending Caffeine maintenance before reading eviction stats.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* OAK-12214 : notify L2 caffeine cache if we got a hit on L1 to keep its internal frequency updated such that we don't evict hot segments

* OAK-12214 : removed cleanUp() method, not needed

* OAK-12214 : write test cases to reproduce the behaviour consistently

* OAK-12214 : addressed review comments

* OAK-12214 : updated javadocs to reflect correct oak version

* OAK-12214 : renamed FT

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@reschke reschke self-assigned this May 21, 2026
@reschke reschke marked this pull request as draft May 21, 2026 08:59
@reschke reschke requested review from joerghoh and rishabhdaim May 21, 2026 10:26
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants