You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "alex-plekhanov (via GitHub)" <gi...@apache.org> on 2026/10/01 23:12:09 UTC

Re: [PR] IGNITE-29032 Improvement of the page eviction mechanism for in-memory [ignite]

alex-plekhanov commented on code in PR #13554:
URL: https://github.com/apache/ignite/pull/13554#discussion_r4161117463


##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/RandomLruPageEvictionTracker.java:
##########
@@ -141,7 +141,11 @@ public RandomLruPageEvictionTracker(
 
                         compactTs = GridUnsafe.getIntVolatile(null, trackingArrPtr + sampleTrackingIdx * 4L);
 
-                        assert compactTs >= 0 : "[compactTs=" + compactTs + "]";
+                        // Under concurrent writes a fragment chain may be partially built (a concurrent writer

Review Comment:
   When concurrent writer has not yet linked the head page (on tail page), compactTs is 0. Thre can't be situation in correct concurrent workload when there are more than two hops is in the chain. If now this assert fails, it means there is some data corruption.



##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/freelist/AbstractFreeList.java:
##########
@@ -718,7 +735,7 @@ private long takePageWithReserve(int size, T row, IoStatisticsHolder statHolder)
                 long pageId = takePageWithReserve(row.size() - written, row, statHolder);
 
                 if (pageId == 0L) {
-                    pageId = allocateDataPage(row.partition());
+                    pageId = allocateDataPage(row, written, statHolder);

Review Comment:
   The logic is incorrect. initIo was initiated only when page is allocated, not taken from pages lists.



-- 
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-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org