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