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