IGNITE-1062 Added tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6ebcb6de Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6ebcb6de Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6ebcb6de Branch: refs/heads/ignite-973-2 Commit: 6ebcb6de192e1916e58226990eb9d9ec759da6ef Parents: 8006a84 Author: nikolay_tikhonov <ntikho...@gridgain.com> Authored: Tue Jun 30 16:51:15 2015 +0300 Committer: nikolay_tikhonov <ntikho...@gridgain.com> Committed: Tue Jun 30 16:51:15 2015 +0300 ---------------------------------------------------------------------- .../discovery/GridDiscoveryManager.java | 26 +-------- .../IgniteTopologyPrintFormatSelfTest.java | 60 +++++++++++++++++++- 2 files changed, 61 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6ebcb6de/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index 1d555e4..a8ce8ff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -101,7 +101,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { /** Predicate filtering client nodes. */ private static final IgnitePredicate<ClusterNode> clientFilter = new P1<ClusterNode>() { @Override public boolean apply(ClusterNode n) { - return n.isClient(); + return CU.clientNode(n); } }; @@ -940,9 +940,9 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { Collection<ClusterNode> rmtNodes = discoCache.remoteNodes(); - Collection<ClusterNode> serverNodes = discoCache.serverNodes(); + Collection<ClusterNode> serverNodes = F.view(discoCache.allNodes(), F.not(clientFilter)); - Collection<ClusterNode> clientNodes = discoCache.clientNodes(); + Collection<ClusterNode> clientNodes = F.view(discoCache.allNodes(), clientFilter); ClusterNode locNode = discoCache.localNode(); @@ -2122,12 +2122,6 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { /** Remote nodes. */ private final List<ClusterNode> rmtNodes; - /** Client nodes. */ - private final List<ClusterNode> clientNodes; - - /** Server nodes. */ - private final List<ClusterNode> serverNodes; - /** All nodes. */ private final List<ClusterNode> allNodes; @@ -2216,10 +2210,6 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { all.addAll(rmtNodes); - clientNodes = Collections.unmodifiableList(new ArrayList<>(F.view(all, clientFilter))); - - serverNodes = Collections.unmodifiableList(new ArrayList<>(F.view(all, F.not(clientFilter)))); - Collections.sort(all, GridNodeOrderComparator.INSTANCE); allNodes = Collections.unmodifiableList(all); @@ -2370,16 +2360,6 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { return rmtNodes; } - /** @return Server nodes. */ - Collection<ClusterNode> serverNodes() { - return serverNodes; - } - - /** @return Client nodes. */ - Collection<ClusterNode> clientNodes() { - return clientNodes; - } - /** @return All nodes. */ Collection<ClusterNode> allNodes() { return allNodes; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6ebcb6de/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/IgniteTopologyPrintFormatSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/IgniteTopologyPrintFormatSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/IgniteTopologyPrintFormatSelfTest.java index efbc431..2a71f28 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/IgniteTopologyPrintFormatSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/IgniteTopologyPrintFormatSelfTest.java @@ -56,11 +56,16 @@ public class IgniteTopologyPrintFormatSelfTest extends GridCommonAbstractTest { TcpDiscoverySpi disc = new TcpDiscoverySpi(); disc.setIpFinder(IP_FINDER); - cfg.setDiscoverySpi(disc); - if (gridName.endsWith("client")) cfg.setClientMode(true); + if (gridName.endsWith("client_force_server")) { + cfg.setClientMode(true); + disc.setForceServerMode(true); + } + + cfg.setDiscoverySpi(disc); + return cfg; } @@ -176,6 +181,57 @@ public class IgniteTopologyPrintFormatSelfTest extends GridCommonAbstractTest { } /** + * @throws Exception If failed. + */ + public void testForceServerAndClientLogs() throws Exception { + MockLogger log = new MockLogger(); + + log.setLevel(Level.INFO); + + doForceServerAndClientTest(log); + } + + /** + * @throws Exception If failed. + */ + public void testForceServerAndClientDebugLogs() throws Exception { + MockLogger log = new MockLogger(); + + log.setLevel(Level.DEBUG); + + doForceServerAndClientTest(log); + } + + /** + * @param log Log. + * @throws Exception If failed. + */ + private void doForceServerAndClientTest(MockLogger log) throws Exception { + try { + Ignite server = startGrid("server"); + + setLogger(log, server); + + Ignite server1 = startGrid("server1"); + Ignite client1 = startGrid("first client"); + Ignite client2 = startGrid("second client"); + Ignite forceServClnt3 = startGrid("third client_force_server"); + + waitForDiscovery(server, server1, client1, client2, forceServClnt3); + } + finally { + stopAllGrids(); + } + + assertTrue(F.forAny(log.logs(), new IgnitePredicate<String>() { + @Override public boolean apply(String s) { + return s.contains("Topology snapshot [ver=5, server nodes=2, client nodes=3,") + || (s.contains(">>> Number of server nodes: 2") && s.contains(">>> Number of client nodes: 3")); + } + })); + } + + /** * Set log. * * @param log Log.