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

Reply via email to