This is an automated email from the ASF dual-hosted git repository. tkalkirill pushed a commit to branch ignite-26756 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 0f25159d66be5ad311887f3c4f6e7ad65a7e4f66 Author: Kirill Tkalenko <[email protected]> AuthorDate: Fri Oct 17 11:05:14 2025 +0300 IGNITE-26756 wip --- .../pagememory/persistence/checkpoint/Checkpoint.java | 15 ++++++++++++++- .../persistence/checkpoint/CheckpointWorkflow.java | 6 +----- .../pagememory/persistence/checkpoint/Checkpointer.java | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpoint.java b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpoint.java index ca9d9aab9a7..7325b0ecd8b 100644 --- a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpoint.java +++ b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpoint.java @@ -30,6 +30,9 @@ class Checkpoint { /** Number of dirty pages. */ final int dirtyPagesSize; + /** Number of written dirty pages. */ + int writtenPages; + /** * Constructor. * @@ -49,7 +52,17 @@ class Checkpoint { /** * Returns {@code true} if this checkpoint contains at least one dirty page. */ - public boolean hasDelta() { + boolean hasDelta() { return dirtyPagesSize != 0; } + + void finishCheckpoint() { + if (hasDelta()) { + writtenPages = progress.writtenPages(); + + progress.pagesToWrite(null); + + progress.clearCounters(); + } + } } diff --git a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointWorkflow.java b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointWorkflow.java index b80299c3347..0a3ffbe9820 100644 --- a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointWorkflow.java +++ b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointWorkflow.java @@ -318,11 +318,7 @@ class CheckpointWorkflow { } } - if (chp.hasDelta()) { - chp.progress.pagesToWrite(null); - - chp.progress.clearCounters(); - } + chp.finishCheckpoint(); for (CheckpointListener listener : collectCheckpointListeners(dataRegions)) { listener.afterCheckpointEnd(chp.progress); diff --git a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpointer.java b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpointer.java index cd7dfe3afc5..5666daa41ba 100644 --- a/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpointer.java +++ b/modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/Checkpointer.java @@ -424,7 +424,7 @@ public class Checkpointer extends IgniteWorker { if (chp.hasDelta()) { if (log.isInfoEnabled()) { - int totalWrittenPages = chp.progress.writtenPages(); + int totalWrittenPages = chp.writtenPages; long totalWriteBytes = (long) pageSize * totalWrittenPages; long totalDurationInNanos = tracker.checkpointDuration(NANOSECONDS);
