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

Reply via email to