skorotkov commented on code in PR #12026: URL: https://github.com/apache/ignite/pull/12026#discussion_r2113804164
########## modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java: ########## @@ -177,4 +205,85 @@ public Random2LruPageEvictionTracker( GridUnsafe.putLongVolatile(null, trackingArrPtr + trackingIdx * 8L, 0L); } + + /** {@inheritDoc} */ + @Override public void trackFragmentPage(long pageId, long tailPageId) { + // Store link to tail fragment page in each fragment page. + linkFragmentPages(pageId, tailPageId); + } + + /** {@inheritDoc} */ + @Override public void trackTailFragmentPage(long tailPageId, long headPageId) { + // Store link to head fragment page in tail fragment page. + linkFragmentPages(tailPageId, headPageId); + } + + /** {@inheritDoc} */ + @Override public void forgetFragmentPage(long pageId) throws IgniteCheckedException { Review Comment: It's a bad function name in fact. This function was supposed initially for fragment pages other then head and tail (but as you pointed below it also works for head one by mistake). It supposed to stop track page as "fragment" one with the "-1" and link. And start track it as usual page. And touch it now. For cases if fragment is removed but page still contains some data. But now I realized that pages other then head always fully filled by single row data. So after remove such page will be empty and forgotten in a usual way by the same forgotPage method. So will remove this dedicated method. Am I right? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org