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

namelchev 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 2057b3c0b11 IGNITE-25461 Fixed validation of cache storage path on a 
client node (#12090)
2057b3c0b11 is described below

commit 2057b3c0b11106ae47fe9e9be106ea48620c3113
Author: Nikita Amelchev <[email protected]>
AuthorDate: Fri May 23 11:04:39 2025 +0300

    IGNITE-25461 Fixed validation of cache storage path on a client node 
(#12090)
---
 .../cache/ValidationOnNodeJoinUtils.java           |  2 +-
 .../CustomCacheStorageConfigurationSelfTest.java   | 25 ++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ValidationOnNodeJoinUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ValidationOnNodeJoinUtils.java
index 45e3aa4f695..5e4307a2525 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ValidationOnNodeJoinUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ValidationOnNodeJoinUtils.java
@@ -390,7 +390,7 @@ public class ValidationOnNodeJoinUtils {
                     cacheSpec.toString());
         }
 
-        if (!F.isEmpty(cc.getStoragePath())) {
+        if (!F.isEmpty(cc.getStoragePath()) && !ctx.clientNode()) {
             DataStorageConfiguration dsCfg = c.getDataStorageConfiguration();
 
             String cs = cc.getStoragePath();
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/filename/CustomCacheStorageConfigurationSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/filename/CustomCacheStorageConfigurationSelfTest.java
index 986cda86a28..b193c10b98b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/filename/CustomCacheStorageConfigurationSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/filename/CustomCacheStorageConfigurationSelfTest.java
@@ -169,4 +169,29 @@ public class CustomCacheStorageConfigurationSelfTest 
extends GridCommonAbstractT
                 
.setGroupName("grp").setStoragePath(myPath3.getAbsolutePath()));
         }
     }
+
+    /** */
+    @Test
+    public void testClientNodeJoin() throws Exception {
+        DataStorageConfiguration dsCfg = new DataStorageConfiguration()
+            .setStoragePath(myPath.getAbsolutePath())
+            .setDefaultDataRegionConfiguration(new 
DataRegionConfiguration().setPersistenceEnabled(true));
+
+        CacheConfiguration<Object, Object> ccfg = new 
CacheConfiguration<>(DEFAULT_CACHE_NAME)
+            .setStoragePath(myPath.getAbsolutePath());
+
+        try (IgniteEx srv = startGrid(getConfiguration("srv")
+            .setDataStorageConfiguration(dsCfg)
+            .setCacheConfiguration(ccfg)
+        )) {
+            srv.cluster().state(ClusterState.ACTIVE);
+
+            try (IgniteEx cliNode = startGrid(getConfiguration("client")
+                .setClientMode(true)
+                .setCacheConfiguration(ccfg)
+            )) {
+                assertTrue(cliNode.cacheNames().contains(DEFAULT_CACHE_NAME));
+            }
+        }
+    }
 }

Reply via email to