ibessonov commented on code in PR #4402:
URL: https://github.com/apache/ignite-3/pull/4402#discussion_r1763315352


##########
modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointProgressImpl.java:
##########
@@ -273,35 +276,59 @@ void pagesToWrite(@Nullable CheckpointDirtyPages 
pageToWrite) {
     }
 
     /**
-     * Callback at the beginning of checkpoint processing of a partition, for 
example, when writing dirty pages or executing a fsync.
+     * Blocks physical destruction of partition.
+     *
+     * <p>When the intention to destroy partition appears, {@link 
FilePageStore#isMarkedToDestroy()} {@code == true} and invoked
+     * {@link PersistentPageMemory#invalidate(int, int)} at the beginning. And 
if there is a block, it waits for unblocking. Then it

Review Comment:
   "method invoked", not "invoked method", please use a proper order of words



##########
modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointProgressImpl.java:
##########
@@ -273,35 +276,59 @@ void pagesToWrite(@Nullable CheckpointDirtyPages 
pageToWrite) {
     }
 
     /**
-     * Callback at the beginning of checkpoint processing of a partition, for 
example, when writing dirty pages or executing a fsync.
+     * Blocks physical destruction of partition.
+     *
+     * <p>When the intention to destroy partition appears, {@link 
FilePageStore#isMarkedToDestroy()} {@code == true} and invoked

Review Comment:
   ```suggestion
        * <p>When the intention to destroy partition appears, {@link 
FilePageStore#isMarkedToDestroy()} is set to {@code == true} and invoked
   ```



##########
modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointProgressImpl.java:
##########
@@ -273,35 +276,59 @@ void pagesToWrite(@Nullable CheckpointDirtyPages 
pageToWrite) {
     }
 
     /**
-     * Callback at the beginning of checkpoint processing of a partition, for 
example, when writing dirty pages or executing a fsync.
+     * Blocks physical destruction of partition.
+     *
+     * <p>When the intention to destroy partition appears, {@link 
FilePageStore#isMarkedToDestroy()} {@code == true} and invoked
+     * {@link PersistentPageMemory#invalidate(int, int)} at the beginning. And 
if there is a block, it waits for unblocking. Then it
+     * destroys the partition, {@link 
FilePageStoreManager#getStore(GroupPartitionId)} will return {@code null}.</p>
+     *
+     * <p>It is recommended to use where physical destruction of the partition 
may have an impact, for example when writing dirty pages and
+     * executing a fsync.</p>
+     *
+     * <p>To make sure that we can physically do something with the partition 
during a block, we will need to use approximately the
+     * following code:</p>
+     * <pre><code>
+     *     FilePageStore pageStore = 
FilePageStoreManager#getStore(partitionId);

Review Comment:
   Please add `blockPartitionDestruction`/`unblockPartitionDestruction` to the 
example code



##########
modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointProgressImpl.java:
##########
@@ -273,35 +276,59 @@ void pagesToWrite(@Nullable CheckpointDirtyPages 
pageToWrite) {
     }
 
     /**
-     * Callback at the beginning of checkpoint processing of a partition, for 
example, when writing dirty pages or executing a fsync.
+     * Blocks physical destruction of partition.
+     *
+     * <p>When the intention to destroy partition appears, {@link 
FilePageStore#isMarkedToDestroy()} {@code == true} and invoked

Review Comment:
   Is that correct?



-- 
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