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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]