ibessonov commented on code in PR #7109:
URL: https://github.com/apache/ignite-3/pull/7109#discussion_r2584656296
##########
modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/mv/PersistentPageMemoryMvPartitionStorage.java:
##########
@@ -586,4 +590,32 @@ public boolean shouldRelease() {
return checkpointTimeoutLock.shouldReleaseReadLock();
}
}
+
+ /**
+ * This optimization reduces the IO operations performed when executing
{@link #vacuum} inside {@link #runConsistently}, which is
+ * currently executed in a loop. This will allow the checkpoint to acquire
a write lock more quickly.
+ */
+ @Override
+ protected void preloadingForGcIfNeededBusy(GcRowVersion gcRowVersion) {
+ RowId rowId = gcRowVersion.getRowId();
+ HybridTimestamp timestamp = gcRowVersion.getTimestamp();
+
+ var preloadingForGc = new PreloadingForGcInvokeClosure(rowId,
timestamp, gcRowVersion.getLink(), this);
+
+ lockByRowId.lock(rowId);
Review Comment:
Is this not a bug that we can have two garbage collectors for a single
partition?
--
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]