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