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();