You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/13 13:41:19 UTC

[12/22] ignite git commit: ignite-3477-master add latch in test

ignite-3477-master add latch in test


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

Branch: refs/heads/ignite-3477-master
Commit: 355efcd06ec765b78453b0a6d8b7da201ed3596d
Parents: 10c0364
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Wed Apr 12 17:24:11 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Wed Apr 12 17:24:11 2017 +0300

----------------------------------------------------------------------
 ...lerCacheClientRequestsMappingOnMissTest.java | 94 +++++++++++++++-----
 1 file changed, 71 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/355efcd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingOnMissTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingOnMissTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingOnMissTest.java
index d0e863e..362d6a1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingOnMissTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingOnMissTest.java
@@ -24,6 +24,8 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Map;
 import java.util.UUID;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.CacheConfiguration;
@@ -151,94 +153,130 @@ public class IgniteMarshallerCacheClientRequestsMappingOnMissTest extends GridCo
      */
     public void testNoNodesDieOnRequest() throws Exception {
         Ignite srv1 = startGrid(0);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv1, "ctx")).io());
 
         Ignite srv2 = startGrid(1);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv2, "ctx")).io());
 
         Ignite srv3 = startGrid(2);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv3, "ctx")).io());
 
-        srv3.cache(null).put(1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
+        srv3.cache(null).put(
+            1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
 
         clientMode = true;
 
         Ignite cl1 = startGrid(4);
+
         cl1.cache(null).get(1);
 
-        assertEquals("Expected requests count is 1, actual is " + mappingReqsCounter.get(),
-                1,
-                mappingReqsCounter.get());
+        int result = mappingReqsCounter.get();
+
+        assertEquals("Expected requests count is 1, actual is " + result, 1, result);
     }
 
     /**
      *
      */
     public void testOneNodeDiesOnRequest() throws Exception {
+        CountDownLatch nodeStopLatch = new CountDownLatch(1);
+
         Ignite srv1 = startGrid(0);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv1, "ctx")).io(), 0);
+
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv1, "ctx")).io(), 0, nodeStopLatch);
 
         Ignite srv2 = startGrid(1);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv2, "ctx")).io());
 
         Ignite srv3 = startGrid(2);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv3, "ctx")).io());
 
-        srv3.cache(null).put(1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
+        srv3.cache(null).put(
+            1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
 
         clientMode = true;
 
         Ignite cl1 = startGrid(4);
+
         cl1.cache(null).get(1);
 
-        assertEquals("Expected requests count is 2, actual is " + mappingReqsCounter.get(),
-                2,
-                mappingReqsCounter.get());
+        nodeStopLatch.await(5_000, TimeUnit.MILLISECONDS);
+
+        int result = mappingReqsCounter.get();
+
+        assertEquals("Expected requests count is 2, actual is " + result, 2, result);
     }
 
     /**
      *
      */
     public void testTwoNodesDieOnRequest() throws Exception {
+        CountDownLatch nodeStopLatch = new CountDownLatch(2);
+
         Ignite srv1 = startGrid(0);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv1, "ctx")).io(), 0);
+
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv1, "ctx")).io(), 0, nodeStopLatch);
 
         Ignite srv2 = startGrid(1);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv2, "ctx")).io(), 1);
+
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv2, "ctx")).io(), 1, nodeStopLatch);
 
         Ignite srv3 = startGrid(2);
+
         replaceWithCountingMappingRequestListener(((GridKernalContext)U.field(srv3, "ctx")).io());
 
-        srv3.cache(null).put(1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
+        srv3.cache(null).put(
+            1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
 
         clientMode = true;
 
         Ignite cl1 = startGrid(4);
+
         cl1.cache(null).get(1);
 
-        assertEquals("Expected requests count is 3, actual is " + mappingReqsCounter.get(),
-                3,
-                mappingReqsCounter.get());
+        nodeStopLatch.await(5_000, TimeUnit.MILLISECONDS);
+
+        int result = mappingReqsCounter.get();
+
+        assertEquals("Expected requests count is 3, actual is " + result, 3, result);
     }
 
     /**
      *
      */
     public void testAllNodesDieOnRequest() throws Exception {
+        CountDownLatch nodeStopLatch = new CountDownLatch(3);
+
         Ignite srv1 = startGrid(0);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv1, "ctx")).io(), 0);
+
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv1, "ctx")).io(), 0, nodeStopLatch);
 
         Ignite srv2 = startGrid(1);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv2, "ctx")).io(), 1);
+
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv2, "ctx")).io(), 1, nodeStopLatch);
 
         Ignite srv3 = startGrid(2);
-        replaceWithStoppingMappingRequestListener(((GridKernalContext)U.field(srv3, "ctx")).io(), 2);
 
-        srv3.cache(null).put(1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
+        replaceWithStoppingMappingRequestListener(
+            ((GridKernalContext)U.field(srv3, "ctx")).io(), 2, nodeStopLatch);
+
+        srv3.cache(null).put(
+            1, new Organization(1, "Microsoft", "One Microsoft Way Redmond, WA 98052-6399, USA"));
 
         clientMode = true;
 
         Ignite cl1 = startGrid(4);
+
         try {
             cl1.cache(null).get(1);
         }
@@ -246,9 +284,11 @@ public class IgniteMarshallerCacheClientRequestsMappingOnMissTest extends GridCo
             e.printStackTrace();
         }
 
-        assertEquals("Expected requests count is 3, actual is " + mappingReqsCounter.get(),
-                3,
-                mappingReqsCounter.get());
+        nodeStopLatch.await(5_000, TimeUnit.MILLISECONDS);
+
+        int result = mappingReqsCounter.get();
+
+        assertEquals("Expected requests count is 3, actual is " + result, 3, result);
     }
 
     /**
@@ -262,6 +302,7 @@ public class IgniteMarshallerCacheClientRequestsMappingOnMissTest extends GridCo
         GridMessageListener wrapper = new GridMessageListener() {
             @Override public void onMessage(UUID nodeId, Object msg) {
                 mappingReqsCounter.incrementAndGet();
+
                 delegate.onMessage(nodeId, msg);
             }
         };
@@ -272,7 +313,11 @@ public class IgniteMarshallerCacheClientRequestsMappingOnMissTest extends GridCo
     /**
      *
      */
-    private void replaceWithStoppingMappingRequestListener(GridIoManager ioMgr, final int nodeIdToStop) {
+    private void replaceWithStoppingMappingRequestListener(
+        GridIoManager ioMgr,
+        final int nodeIdToStop,
+        final CountDownLatch latch
+    ) {
         ioMgr.removeMessageListener(GridTopic.TOPIC_MAPPING_MARSH);
 
         ioMgr.addMessageListener(GridTopic.TOPIC_MAPPING_MARSH, new GridMessageListener() {
@@ -280,6 +325,9 @@ public class IgniteMarshallerCacheClientRequestsMappingOnMissTest extends GridCo
                 new Thread(new Runnable() {
                     @Override public void run() {
                         mappingReqsCounter.incrementAndGet();
+
+                        latch.countDown();
+
                         stopGrid(nodeIdToStop, true);
                     }
                 }).start();