This is an automated email from the ASF dual-hosted git repository.

zstan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 381029def66 IGNITE-28402 Fix OOM during 
WriteAheadLogManagerSelfTest#testNoRaceAutoArchiveAndDeactivation TC run 
(#12964)
381029def66 is described below

commit 381029def6663c1b6ccf1c2188d623964e330845
Author: Evgeniy Stanilovskiy <[email protected]>
AuthorDate: Wed Apr 1 15:17:31 2026 +0300

    IGNITE-28402 Fix OOM during 
WriteAheadLogManagerSelfTest#testNoRaceAutoArchiveAndDeactivation TC run 
(#12964)
---
 .../cache/persistence/IgniteCacheDatabaseSharedManager.java        | 7 ++++---
 .../processors/cache/persistence/wal/FileWriteAheadLogManager.java | 4 +++-
 .../cache/persistence/db/wal/WriteAheadLogManagerSelfTest.java     | 5 ++++-
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
index a20a38e7093..cb63dbedbef 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
@@ -60,13 +60,13 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheContext;
 import 
org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GroupPartitionIdPair;
-import 
org.apache.ignite.internal.processors.cache.persistence.checkpoint.CheckpointMarkersStorage;
 import 
org.apache.ignite.internal.processors.cache.persistence.checkpoint.CheckpointProgress;
 import 
org.apache.ignite.internal.processors.cache.persistence.evict.FairFifoPageEvictionTracker;
 import 
org.apache.ignite.internal.processors.cache.persistence.evict.NoOpPageEvictionTracker;
 import 
org.apache.ignite.internal.processors.cache.persistence.evict.PageEvictionTracker;
 import 
org.apache.ignite.internal.processors.cache.persistence.evict.Random2LruPageEvictionTracker;
 import 
org.apache.ignite.internal.processors.cache.persistence.evict.RandomLruPageEvictionTracker;
+import 
org.apache.ignite.internal.processors.cache.persistence.filename.NodeFileTree;
 import 
org.apache.ignite.internal.processors.cache.persistence.filename.PdsFolderSettings;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList;
 import 
org.apache.ignite.internal.processors.cache.persistence.freelist.CacheFreeList;
@@ -967,9 +967,10 @@ public class IgniteCacheDatabaseSharedManager extends 
GridCacheSharedManagerAdap
     }
 
     /**
-     * Clean checkpoint directory
-     * {@link CheckpointMarkersStorage#cpDir}. The operation
+     * Clean checkpoint directory. The operation
      * is necessary when local node joined to baseline topology with different 
consistentId.
+     *
+     * @see NodeFileTree#checkpoint()
      */
     public void cleanupCheckpointDirectory() throws IgniteCheckedException {
         // No-op.
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index ec823044eef..91b9f9b789c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -3630,13 +3630,15 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
         if (walAutoArchiveAfterInactivity > 0 || walForceArchiveTimeout > 0) {
             assert timeoutRolloverMux != null;
 
+            GridTimeoutProcessor timeOutProc = cctx.time();
+
             synchronized (timeoutRolloverMux) {
                 TimeoutRollover timeoutRollover = this.timeoutRollover;
 
                 if (timeoutRollover != null) {
                     timeoutRollover.cancel();
 
-                    cctx.time().removeTimeoutObject(timeoutRollover);
+                    timeOutProc.removeTimeoutObject(timeoutRollover);
 
                     this.timeoutRollover = null;
                 }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WriteAheadLogManagerSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WriteAheadLogManagerSelfTest.java
index e8d241d70ff..e584a8d59fe 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WriteAheadLogManagerSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/WriteAheadLogManagerSelfTest.java
@@ -218,7 +218,7 @@ public class WriteAheadLogManagerSelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
-     * Checking the absence of a race between the deactivation of the VAL and
+     * Checking the absence of a race between the deactivation of the WAL and
      * automatic archiving, which may lead to a fail of the node.
      *
      * @throws Exception If failed.
@@ -253,7 +253,10 @@ public class WriteAheadLogManagerSelfTest extends 
GridCommonAbstractTest {
 
             assertTrue(l.await(getTestTimeout(), MILLISECONDS));
 
+            dbMgr(n).forceCheckpoint("test reason");
+            dbMgr(n).enableCheckpoints(false).get(getTestTimeout());
             walMgr(n).onDeActivate(n.context());
+
             stop.set(true);
 
             fut.get(getTestTimeout());

Reply via email to