Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 24C70200BBD for ; Tue, 8 Nov 2016 11:58:10 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 236E1160B0A; Tue, 8 Nov 2016 10:58:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 462C2160AFA for ; Tue, 8 Nov 2016 11:58:09 +0100 (CET) Received: (qmail 38086 invoked by uid 500); 8 Nov 2016 10:58:08 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 38077 invoked by uid 99); 8 Nov 2016 10:58:08 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Nov 2016 10:58:08 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 35E99E098A; Tue, 8 Nov 2016 10:58:08 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: ignite git commit: ignite-4154 Date: Tue, 8 Nov 2016 10:58:08 +0000 (UTC) archived-at: Tue, 08 Nov 2016 10:58:10 -0000 Repository: ignite Updated Branches: refs/heads/ignite-4154-2 9617e80b9 -> e81079d01 ignite-4154 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e81079d0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e81079d0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e81079d0 Branch: refs/heads/ignite-4154-2 Commit: e81079d013421d3db3732519ec3ac2e5b783186f Parents: 9617e80 Author: sboikov Authored: Tue Nov 8 13:58:00 2016 +0300 Committer: sboikov Committed: Tue Nov 8 13:58:00 2016 +0300 ---------------------------------------------------------------------- .../ignite/spi/discovery/tcp/ServerImpl.java | 16 +--- .../spi/discovery/tcp/TcpDiscoverySelfTest.java | 98 +++++++++++++------- 2 files changed, 68 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/e81079d0/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java index a62f18f..e182177 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java @@ -4005,21 +4005,7 @@ class ServerImpl extends TcpDiscoveryImpl { spi.onExchange(node.id(), node.id(), data, U.resolveClassLoader(spi.ignite().configuration())); - Map d0 = spi.collectExchangeData(node.id()); - - if (!F.isEmpty(msg.oldNodesDiscoveryData())) { - try { - Object o1 = spi.marshaller().unmarshal(d0.get(1), null); - Object o2 = spi.marshaller().unmarshal(msg.oldNodesDiscoveryData().values().iterator().next().get(1), null); - - System.out.println(); - } - catch (Exception e) { - e.printStackTrace();; - } - } - - msg.addDiscoveryData(locNodeId, d0); + msg.addDiscoveryData(locNodeId, spi.collectExchangeData(node.id())); processMessageFailedNodes(msg); } http://git-wip-us.apache.org/repos/asf/ignite/blob/e81079d0/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java index 1cbb5f3..043208c 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java @@ -118,6 +118,9 @@ public class TcpDiscoverySelfTest extends GridCommonAbstractTest { /** */ private CacheConfiguration[] ccfgs; + /** */ + private boolean client; + /** * @throws Exception If fails. */ @@ -211,6 +214,8 @@ public class TcpDiscoverySelfTest extends GridCommonAbstractTest { else if (gridName.contains("testNodeShutdownOnRingMessageWorkerFailureFailedNode")) cfg.setGridLogger(strLog = new GridStringLogger()); + cfg.setClientMode(client); + return cfg; } @@ -1972,38 +1977,50 @@ public class TcpDiscoverySelfTest extends GridCommonAbstractTest { public void testDuplicatedDiscoveryDataRemoved() throws Exception { try { TestDiscoveryDataDuplicateSpi.checkNodeAdded = false; + TestDiscoveryDataDuplicateSpi.checkClientNodeAddFinished = false; TestDiscoveryDataDuplicateSpi.fail = false; -// ccfgs = new CacheConfiguration[5]; -// -// for (int i = 0; i < ccfgs.length; i++) { -// CacheConfiguration ccfg = new CacheConfiguration(); -// ccfg.setName("static-cache-" + i); -// -// ccfgs[i] = ccfg; -// } + ccfgs = new CacheConfiguration[5]; + + for (int i = 0; i < ccfgs.length; i++) { + CacheConfiguration ccfg = new CacheConfiguration(); + + ccfg.setName(i == 0 ? null : ("static-cache-" + i)); + + ccfgs[i] = ccfg; + } TestDiscoveryDataDuplicateSpi spi = new TestDiscoveryDataDuplicateSpi(); nodeSpi.set(spi); - Ignite ignite0 = startGrid(0); + startGrid(0); - CacheConfiguration ccfg1 = new CacheConfiguration(); - ccfg1.setName("cache1"); + for (int i = 0; i < 5; i++) { + nodeSpi.set(new TestDiscoveryDataDuplicateSpi()); - ignite0.createCache(ccfg1); + startGrid(i + 1); + } - nodeSpi.set(new TestDiscoveryDataDuplicateSpi()); - startGrid(1); + client = true; - nodeSpi.set(new TestDiscoveryDataDuplicateSpi()); - startGrid(2); + Ignite clientNode = startGrid(6); + + assertTrue(clientNode.configuration().isClientMode()); + + CacheConfiguration ccfg = new CacheConfiguration(); + ccfg.setName("c1"); + + clientNode.createCache(ccfg); + + client = false; nodeSpi.set(new TestDiscoveryDataDuplicateSpi()); - startGrid(3); + + startGrid(7); assertTrue(TestDiscoveryDataDuplicateSpi.checkNodeAdded); + assertTrue(TestDiscoveryDataDuplicateSpi.checkClientNodeAddFinished); assertFalse(TestDiscoveryDataDuplicateSpi.fail); } finally { @@ -2076,6 +2093,9 @@ public class TcpDiscoverySelfTest extends GridCommonAbstractTest { /** */ static volatile boolean checkNodeAdded; + /** */ + static volatile boolean checkClientNodeAddFinished; + /** {@inheritDoc} */ @Override protected void writeToSocket(Socket sock, OutputStream out, TcpDiscoveryAbstractMessage msg, @@ -2083,27 +2103,43 @@ public class TcpDiscoverySelfTest extends GridCommonAbstractTest { if (msg instanceof TcpDiscoveryNodeAddedMessage) { Map> discoData = ((TcpDiscoveryNodeAddedMessage)msg).oldNodesDiscoveryData(); - int cnt = 0; + checkDiscoData(discoData, msg); + } + else if (msg instanceof TcpDiscoveryNodeAddFinishedMessage) { + Map> discoData = ((TcpDiscoveryNodeAddFinishedMessage)msg).clientDiscoData(); - if (discoData != null && discoData.size() > 1) { - for (Map.Entry> e : discoData.entrySet()) { - Map map = e.getValue(); + checkDiscoData(discoData, msg); + } - if (map.containsKey(GridComponent.DiscoveryDataExchangeType.CACHE_PROC.ordinal())) - cnt++; - } + super.writeToSocket(sock, out, msg, timeout); + } - checkNodeAdded = true; + /** + * @param discoData Discovery data. + * @param msg Message. + */ + private void checkDiscoData(Map> discoData, TcpDiscoveryAbstractMessage msg) { + if (discoData != null && discoData.size() > 1) { + int cnt = 0; - if (cnt > 1) { - fail = true; + for (Map.Entry> e : discoData.entrySet()) { + Map map = e.getValue(); - log.error("Expect cache data only from one node, but actually: " + cnt); - } + if (map.containsKey(GridComponent.DiscoveryDataExchangeType.CACHE_PROC.ordinal())) + cnt++; } - } - super.writeToSocket(sock, out, msg, timeout); + if (cnt > 1) { + fail = true; + + log.error("Expect cache data only from one node, but actually: " + cnt); + } + + if (msg instanceof TcpDiscoveryNodeAddedMessage) + checkNodeAdded = true; + else if (msg instanceof TcpDiscoveryNodeAddFinishedMessage) + checkClientNodeAddFinished = true; + } } }