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

nizhikov 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 b4fce3996c7 IGNITE-26456 Fix dump creation when volatile data 
structures exists (#12353)
b4fce3996c7 is described below

commit b4fce3996c7486e22d97f22a625b1e6a21bec5d2
Author: Nikolay <[email protected]>
AuthorDate: Thu Sep 18 09:40:38 2025 +0300

    IGNITE-26456 Fix dump creation when volatile data structures exists (#12353)
---
 .../persistence/snapshot/IgniteSnapshotManager.java    |  2 +-
 .../snapshot/dump/AbstractCacheDumpTest.java           | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotManager.java
index 857e75bc610..39b6982aa18 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteSnapshotManager.java
@@ -2013,9 +2013,9 @@ public class IgniteSnapshotManager extends 
GridCacheSharedManagerAdapter
             Set<String> cacheGrpNames0 = cacheGrpNames == null ? null : new 
HashSet<>(cacheGrpNames);
 
             List<String> grps = (dump ? 
cctx.cache().cacheGroupDescriptors().values() : 
cctx.cache().persistentGroups()).stream()
+                .filter(desc -> 
cctx.cache().cacheType(desc.config().getName()) == CacheType.USER)
                 .map(CacheGroupDescriptor::cacheOrGroupName)
                 .filter(n -> cacheGrpNames0 == null || 
cacheGrpNames0.remove(n))
-                .filter(cacheName -> cctx.cache().cacheType(cacheName) == 
CacheType.USER)
                 .collect(Collectors.toList());
 
             if (!F.isEmpty(cacheGrpNames0))
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/AbstractCacheDumpTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/AbstractCacheDumpTest.java
index 8ae0ab6146f..3995937fd04 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/AbstractCacheDumpTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/dump/AbstractCacheDumpTest.java
@@ -32,8 +32,10 @@ import java.util.function.IntFunction;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteAtomicSequence;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteCountDownLatch;
 import org.apache.ignite.IgniteDataStreamer;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.Ignition;
@@ -252,6 +254,8 @@ public abstract class AbstractCacheDumpTest extends 
GridCommonAbstractTest {
 
         ign.cluster().state(ClusterState.ACTIVE);
 
+        createDataStructures();
+
         putData(cli.cache(DEFAULT_CACHE_NAME), cli.cache(CACHE_0), 
cli.cache(CACHE_1));
 
         return ign;
@@ -732,4 +736,18 @@ public abstract class AbstractCacheDumpTest extends 
GridCommonAbstractTest {
             assertTrue(stopped);
         }
     }
+
+    /**
+     * Creates some data structures in cluster.
+     * Cache group filter must exclude ds groups from dump.
+     */
+    private void createDataStructures() {
+        IgniteCountDownLatch latch = cli.countDownLatch("testSeq", 2, true, 
true);
+
+        latch.countDown();
+
+        IgniteAtomicSequence seq = cli.atomicSequence("testSeq", 0, true);
+
+        seq.incrementAndGet();
+    }
 }

Reply via email to