You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/05/14 10:15:22 UTC

ignite git commit: IGNITE-8422 Tests fix for Zookeeper discovery split brain detection shouldn't consider client nodes - Fixes #3975.

Repository: ignite
Updated Branches:
  refs/heads/master 89c775737 -> 19cbf8058


IGNITE-8422 Tests fix for Zookeeper discovery split brain detection shouldn't consider client nodes - Fixes #3975.

Signed-off-by: dpavlov <dp...@apache.org>


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

Branch: refs/heads/master
Commit: 19cbf8058b48a1f8fec60f7ceac70229e7c5391a
Parents: 89c7757
Author: Pavel Kovalenko <jo...@gmail.com>
Authored: Mon May 14 13:14:52 2018 +0300
Committer: dpavlov <dp...@apache.org>
Committed: Mon May 14 13:14:52 2018 +0300

----------------------------------------------------------------------
 .../zk/internal/ZookeeperDiscoverySpiTest.java  | 33 ++++++++++++++++++--
 1 file changed, 30 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/19cbf805/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
index 03b874d..09db104 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
@@ -127,6 +127,7 @@ import org.apache.zookeeper.ZKUtil;
 import org.apache.zookeeper.ZkTestClientCnxnSocketNIO;
 import org.apache.zookeeper.ZooKeeper;
 import org.jetbrains.annotations.Nullable;
+import org.junit.Assert;
 
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import static java.util.concurrent.TimeUnit.SECONDS;
@@ -3589,6 +3590,10 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
         startGridsMultiThreaded(5, 3);
 
+        client = false;
+
+        awaitPartitionMapExchange();
+
         List<ClusterNode> all = G.allGrids().stream()
             .map(g -> g.cluster().localNode())
             .collect(Collectors.toList());;
@@ -3600,6 +3605,8 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
         ClusterNode lastClient = startGrid(8).cluster().localNode();
 
+        awaitPartitionMapExchange();
+
         // Make last client connected to other nodes.
         for (ClusterNode node : all) {
             if (node.id().equals(lastClient.id()))
@@ -3633,15 +3640,21 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
             .map(g -> g.cluster().localNode())
             .collect(Collectors.toList());
 
+        Assert.assertEquals(5, srvNodes.size());
+
         client = true;
 
         startGridsMultiThreaded(5, 3);
 
         client = false;
 
+        awaitPartitionMapExchange();
+
         ConnectionsFailureMatrix matrix = new ConnectionsFailureMatrix();
 
-        matrix.addAll(G.allGrids().stream().map(g -> g.cluster().localNode()).collect(Collectors.toList()));
+        List<ClusterNode> allNodes = G.allGrids().stream().map(g -> g.cluster().localNode()).collect(Collectors.toList());
+
+        matrix.addAll(allNodes);
 
         // Remove 2 connections between server nodes.
         matrix.removeConnection(srvNodes.get(0), srvNodes.get(1));
@@ -3674,6 +3687,8 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
             .map(g -> g.cluster().localNode())
             .collect(Collectors.toList());
 
+        Assert.assertEquals(6, srvNodes.size());
+
         List<ClusterNode> srvPart1 = srvNodes.subList(0, 3);
         List<ClusterNode> srvPart2 = srvNodes.subList(3, srvNodes.size());
 
@@ -3683,11 +3698,15 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
         client = false;
 
+        awaitPartitionMapExchange();
+
         List<ClusterNode> clientNodes = G.allGrids().stream()
             .map(g -> g.cluster().localNode())
             .filter(ClusterNode::isClient)
             .collect(Collectors.toList());
 
+        Assert.assertEquals(5, clientNodes.size());
+
         List<ClusterNode> clientPart1 = clientNodes.subList(0, 2);
         List<ClusterNode> clientPart2 = clientNodes.subList(2, 4);
 
@@ -3793,17 +3812,24 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
         private static volatile boolean failure;
 
         /** Connections failure matrix. */
-        private static ConnectionsFailureMatrix matrix;
+        private static volatile ConnectionsFailureMatrix matrix;
 
         /**
          * Start failing connections according to given matrix {@code with}.
          * @param with Failure matrix.
          */
-        public static void fail(ConnectionsFailureMatrix with) {
+        static void fail(ConnectionsFailureMatrix with) {
             matrix = with;
             failure = true;
         }
 
+        /**
+         * Resets failure matrix.
+         */
+        static void unfail() {
+            failure = false;
+        }
+
         /** {@inheritDoc} */
         @Override public IgniteFuture<BitSet> checkConnection(List<ClusterNode> nodes) {
             // Creates connections statuses according to failure matrix.
@@ -4264,6 +4290,7 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
         err = false;
 
         failCommSpi = false;
+        PeerToPeerCommunicationFailureSpi.unfail();
 
         evts.clear();