cleanup memPlcMap on stop + add restart test

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/dde55064
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/dde55064
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/dde55064

Branch: refs/heads/ignite-2.1.2-exchange
Commit: dde55064d7c899eac50d035abeb1e60049d30f00
Parents: bf3643d
Author: Dmitriy Govorukhin <[email protected]>
Authored: Sat Jun 17 12:03:17 2017 +0300
Committer: Dmitriy Govorukhin <[email protected]>
Committed: Sat Jun 17 12:03:17 2017 +0300

----------------------------------------------------------------------
 .../IgniteCacheDatabaseSharedManager.java       |  4 +++
 .../IgniteStandByClusterTest.java               | 38 ++++++++++++++++++--
 2 files changed, 39 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/dde55064/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
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 456e7b4..e1f1c9a 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
@@ -674,6 +674,10 @@ public class IgniteCacheDatabaseSharedManager extends 
GridCacheSharedManagerAdap
                         memPlc.memoryMetrics().getName(), e);
                 }
             }
+
+            memPlcMap.clear();
+
+            memPlcMap = null;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/dde55064/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteStandByClusterTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteStandByClusterTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteStandByClusterTest.java
index 647511e..5eebc94 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteStandByClusterTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteStandByClusterTest.java
@@ -145,7 +145,7 @@ public class IgniteStandByClusterTest extends 
GridCommonAbstractTest {
         assertTrue(!ig2.active());
         assertTrue(!ig3.active());
 
-        for (IgniteEx ig: Arrays.asList(ig1,ig2,ig3)){
+        for (IgniteEx ig : Arrays.asList(ig1, ig2, ig3)) {
             Map<String, DynamicCacheDescriptor> desc = 
U.field(U.field(ig.context().cache(), "cachesInfo"), "registeredCaches");
 
             assertEquals(0, desc.size());
@@ -157,7 +157,7 @@ public class IgniteStandByClusterTest extends 
GridCommonAbstractTest {
         assertTrue(ig2.active());
         assertTrue(ig3.active());
 
-        for (IgniteEx ig: Arrays.asList(ig1,ig2,ig3)){
+        for (IgniteEx ig : Arrays.asList(ig1, ig2, ig3)) {
             Map<String, DynamicCacheDescriptor> desc = U.field(
                 U.field(ig.context().cache(), "cachesInfo"), 
"registeredCaches");
 
@@ -209,7 +209,39 @@ public class IgniteStandByClusterTest extends 
GridCommonAbstractTest {
         assertEquals("1", cache.get(1));
     }
 
-    private static class NodeFilterIgnoreByName implements 
IgnitePredicate<ClusterNode>{
+    public void testRestartCluster() throws Exception {
+        IgniteEx ig1 = startGrid(getConfiguration("node1"));
+        IgniteEx ig2 = startGrid(getConfiguration("node2"));
+        IgniteEx ig3 = startGrid(getConfiguration("node3"));
+
+        assertTrue(!ig1.active());
+        assertTrue(!ig2.active());
+        assertTrue(!ig3.active());
+
+        ig2.active(true);
+
+        IgniteCache<Integer, String> cache = ig2.getOrCreateCache("cache");
+
+        for (int i = 0; i < 2048; i++)
+            cache.put(i, String.valueOf(i));
+
+        ig3.active(false);
+
+        stopAllGrids();
+
+        ig1 = startGrid(getConfiguration("node1"));
+        ig2 = startGrid(getConfiguration("node2"));
+        ig3 = startGrid(getConfiguration("node3"));
+
+        ig1.active(true);
+
+        IgniteCache<Integer, String> cache2 = ig1.cache("cache");
+
+        for (int i = 0; i < 2048; i++)
+            assertEquals(String.valueOf(i), cache2.get(i));
+    }
+
+    private static class NodeFilterIgnoreByName implements 
IgnitePredicate<ClusterNode> {
         private final String name;
 
         private NodeFilterIgnoreByName(String name) {

Reply via email to