IGNITE-709 Fix 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/ce20aec3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ce20aec3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ce20aec3

Branch: refs/heads/ignite-23
Commit: ce20aec3c8046bb3635893ec181ba027691db638
Parents: 9d4d01c
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Wed May 20 16:41:45 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Wed May 20 16:41:45 2015 +0300

----------------------------------------------------------------------
 .../continuous/GridContinuousProcessor.java     |  2 +-
 .../discovery/tcp/TcpClientDiscoverySpi.java    |  2 +-
 .../IgniteClientDataStructuresAbstractTest.java |  6 +--
 ...ientModesTcpClientDiscoveryAbstractTest.java |  9 ++--
 ...pClientDiscoveryMarshallerCheckSelfTest.java | 16 +++----
 .../tcp/TcpDiscoveryConcurrentStartTest.java    | 45 ++++++++++++++------
 .../ignite/testframework/GridTestUtils.java     | 15 +++++++
 .../testframework/junits/GridAbstractTest.java  | 19 +++++++--
 .../junits/common/GridCommonAbstractTest.java   | 31 --------------
 .../IgniteSpiDiscoverySelfTestSuite.java        |  2 +
 10 files changed, 81 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 1b204a6..d67a45a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -168,7 +168,7 @@ public class GridContinuousProcessor extends 
GridProcessorAdapter {
         
ctx.discovery().setCustomEventListener(StartRoutineDiscoveryMessage.class,
             new CustomEventListener<StartRoutineDiscoveryMessage>() {
                 @Override public void onCustomEvent(ClusterNode snd, 
StartRoutineDiscoveryMessage msg) {
-                    if (!snd.id().equals(ctx.localNodeId()))
+                    if (!snd.id().equals(ctx.localNodeId()) && 
!ctx.isStopping())
                         processStartRequest(snd, msg);
                 }
             });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 7097e1b..e4c5147 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -1461,7 +1461,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
          * @param msg Message.
          */
         private void processCustomMessage(TcpDiscoveryCustomEventMessage msg) {
-            if (msg.verified()) {
+            if (msg.verified() && joinLatch.getCount() == 0) {
                 DiscoverySpiListener lsnr = TcpClientDiscoverySpi.this.lsnr;
 
                 if (lsnr != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteClientDataStructuresAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteClientDataStructuresAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteClientDataStructuresAbstractTest.java
index 36f1910..21233cc 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteClientDataStructuresAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteClientDataStructuresAbstractTest.java
@@ -43,16 +43,14 @@ public abstract class 
IgniteClientDataStructuresAbstractTest extends GridCommonA
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
-
         if (gridName.equals(getTestGridName(NODE_CNT - 1))) {
             cfg.setClientMode(true);
 
             if (clientDiscovery())
-                cfg.setDiscoverySpi(createClientDiscovery(ipFinder));
+                cfg.setDiscoverySpi(new TcpClientDiscoverySpi());
         }
 
-        cfg.setLocalHost("127.0.0.1");
+        ((TcpDiscoverySpiAdapter)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheClientModesTcpClientDiscoveryAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheClientModesTcpClientDiscoveryAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheClientModesTcpClientDiscoveryAbstractTest.java
index 127c150..62dbb18 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheClientModesTcpClientDiscoveryAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheClientModesTcpClientDiscoveryAbstractTest.java
@@ -37,10 +37,13 @@ public abstract class 
GridCacheClientModesTcpClientDiscoveryAbstractTest extends
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        if (cfg.isClientMode() != null && cfg.isClientMode())
-            cfg.setDiscoverySpi(createClientDiscovery(ipFinder));
+        if (cfg.isClientMode() != null && cfg.isClientMode()) {
+            TcpClientDiscoverySpi discoverySpi = new TcpClientDiscoverySpi();
 
-        cfg.setLocalHost("127.0.0.1");
+            discoverySpi.setIpFinder(ipFinder);
+
+            cfg.setDiscoverySpi(discoverySpi);
+        }
 
         return cfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryMarshallerCheckSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryMarshallerCheckSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryMarshallerCheckSelfTest.java
index 78435fd..ad61755 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryMarshallerCheckSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoveryMarshallerCheckSelfTest.java
@@ -37,23 +37,23 @@ public class TcpClientDiscoveryMarshallerCheckSelfTest 
extends GridCommonAbstrac
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg =  super.getConfiguration(gridName);
 
-        if (gridName.endsWith("0")) {
-            TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-            discoSpi.setIpFinder(ipFinder);
-
-            cfg.setDiscoverySpi(discoSpi);
+        TcpDiscoverySpiAdapter discoSpi;
 
-            cfg.setLocalHost("127.0.0.1");
+        if (gridName.endsWith("0")) {
+            discoSpi = new TcpDiscoverySpi();
 
             cfg.setMarshaller(new JdkMarshaller());
         }
         else {
-            cfg.setDiscoverySpi(createClientDiscovery(ipFinder));
+            discoSpi = new TcpClientDiscoverySpi();
 
             cfg.setMarshaller(new OptimizedMarshaller());
         }
 
+        discoSpi.setIpFinder(ipFinder);
+
+        cfg.setDiscoverySpi(discoSpi);
+
         return cfg;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryConcurrentStartTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryConcurrentStartTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryConcurrentStartTest.java
index f79c24b..67566a8 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryConcurrentStartTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryConcurrentStartTest.java
@@ -20,14 +20,19 @@ package org.apache.ignite.spi.discovery.tcp;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.testframework.*;
 import org.apache.ignite.testframework.junits.common.*;
+import org.jetbrains.annotations.*;
+
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
 
 /**
  * Test for {@link TcpDiscoverySpi}.
  */
 public class TcpDiscoveryConcurrentStartTest extends GridCommonAbstractTest {
     /** */
-    private static final int TOP_SIZE = 1;
+    private static final int TOP_SIZE = 3;
 
     /** */
     private static TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
@@ -39,17 +44,11 @@ public class TcpDiscoveryConcurrentStartTest extends 
GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
         IgniteConfiguration cfg =  super.getConfiguration(gridName);
 
-        if (client)
-            cfg.setDiscoverySpi(createClientDiscovery(ipFinder));
-        else {
-            TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-            discoSpi.setIpFinder(ipFinder);
+        TcpDiscoverySpiAdapter discoSpi = client ? new TcpClientDiscoverySpi() 
: new TcpDiscoverySpi();
 
-            cfg.setDiscoverySpi(discoSpi);
-        }
+        discoSpi.setIpFinder(ipFinder);
 
-        cfg.setLocalHost("127.0.0.1");
+        cfg.setDiscoverySpi(discoSpi);
 
         cfg.setCacheConfiguration();
 
@@ -61,11 +60,16 @@ public class TcpDiscoveryConcurrentStartTest extends 
GridCommonAbstractTest {
         return Long.MAX_VALUE;
     }
 
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        client = false;
+    }
+
     /**
      * @throws Exception If failed.
      */
     public void testConcurrentStart() throws Exception {
-        for (int i = 0; i < 50; i++) {
+        for (int i = 0; i < 10; i++) {
             try {
                 startGridsMultiThreaded(TOP_SIZE);
             }
@@ -79,15 +83,28 @@ public class TcpDiscoveryConcurrentStartTest extends 
GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     public void testConcurrentStartClients() throws Exception {
-        for (int i = 0; i < 50; i++) {
+        for (int i = 0; i < 20; i++) {
             try {
                 client = false;
 
-                startGrid();
+                startGrid(0);
 
                 client = true;
 
-                startGridsMultiThreaded(TOP_SIZE);
+                final AtomicInteger gridIdx = new AtomicInteger(1);
+
+                GridTestUtils.runMultiThreaded(new Callable<Object>() {
+                        @Nullable @Override public Object call() throws 
Exception {
+                            startGrid(gridIdx.getAndIncrement());
+
+                            return null;
+                        }
+                    },
+                    TOP_SIZE,
+                    "grid-starter-" + getName()
+                );
+
+                checkTopology(TOP_SIZE + 1);
             }
             finally {
                 stopAllGrids();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
index e25aaee..435ff46 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
@@ -1495,4 +1495,19 @@ public final class GridTestUtils {
     public static String apacheIgniteTestPath() {
         return System.getProperty("IGNITE_TEST_PATH", U.getIgniteHome() + 
"/target/ignite");
     }
+
+    /**
+     * {@link Class#getSimpleName()} does not return outer class name prefix 
for inner classes, for example,
+     * getSimpleName() returns "RegularDiscovery" instead of 
"GridDiscoveryManagerSelfTest$RegularDiscovery"
+     * This method return correct simple name for inner classes.
+     *
+     * @param cls Class
+     * @return Simple name with outer class prefix.
+     */
+    public static String fullSimpleName(@NotNull Class cls) {
+        if (cls.getEnclosingClass() != null)
+            return cls.getEnclosingClass().getSimpleName() + "." + 
cls.getSimpleName();
+        else
+            return cls.getSimpleName();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index be849f0..0ecee09 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -455,7 +455,7 @@ public abstract class GridAbstractTest extends TestCase {
         }
 
         if (isFirstTest()) {
-            info(">>> Starting test class: " + getClass().getSimpleName() + " 
<<<");
+            info(">>> Starting test class: " + 
GridTestUtils.fullSimpleName(getClass()) + " <<<");
 
             if (startGrid) {
                 IgniteConfiguration cfg = optimize(getConfiguration());
@@ -736,9 +736,20 @@ public abstract class GridAbstractTest extends TestCase {
      * @param cancel Cancel flag.
      */
     protected void stopAllGrids(boolean cancel) {
-        List<Ignite> ignites = G.allGrids();
+        Collection<Ignite> clients = new ArrayList<>();
+        Collection<Ignite> srvs = new ArrayList<>();
+
+        for (Ignite g : G.allGrids()) {
+            if (g.configuration().getDiscoverySpi() instanceof 
TcpClientDiscoverySpi)
+                clients.add(g);
+            else
+                srvs.add(g);
+        }
+
+        for (Ignite g : clients)
+            stopGrid(g.name(), cancel);
 
-        for (Ignite g : ignites)
+        for (Ignite g : srvs)
             stopGrid(g.name(), cancel);
 
         assert G.allGrids().isEmpty();
@@ -1205,7 +1216,7 @@ public abstract class GridAbstractTest extends TestCase {
             serializedObj.clear();
 
             if (isLastTest()) {
-                info(">>> Stopping test class: " + getClass().getSimpleName() 
+ " <<<");
+                info(">>> Stopping test class: " + 
GridTestUtils.fullSimpleName(getClass()) + " <<<");
 
                 TestCounters counters = getTestCounters();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index c8a256f..3c54efe 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -34,16 +34,12 @@ import org.apache.ignite.internal.processors.cache.local.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.testframework.junits.*;
 import org.jetbrains.annotations.*;
 
 import javax.cache.*;
 import javax.cache.integration.*;
 import javax.net.ssl.*;
-import java.net.*;
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
@@ -853,33 +849,6 @@ public abstract class GridCommonAbstractTest extends 
GridAbstractTest {
     }
 
     /**
-     * Create TcpClientDiscoverySpi configured to connect to last started 
server.
-     *
-     * @param srvIpFinder IpFinder that was provided to servers. Used to 
obtain addreses to connect.
-     */
-    protected static TcpClientDiscoverySpi 
createClientDiscovery(TcpDiscoveryIpFinder srvIpFinder) {
-        TcpDiscoveryVmIpFinder clientFinder = new TcpDiscoveryVmIpFinder();
-
-        Collection<InetSocketAddress> srvAddrs = 
srvIpFinder.getRegisteredAddresses();
-
-        if (srvAddrs.isEmpty())
-            throw new IgniteException("Failed to create client IpFinder, no 
server addresses registered.");
-
-        String firstSrvAddr = F.first(srvAddrs).toString();
-
-        if (firstSrvAddr.startsWith("/"))
-            firstSrvAddr = firstSrvAddr.substring(1);
-
-        clientFinder.setAddresses(Collections.singletonList(firstSrvAddr));
-
-        TcpClientDiscoverySpi res = new TcpClientDiscoverySpi();
-
-        res.setIpFinder(clientFinder);
-
-        return res;
-    }
-
-    /**
      * In ATOMIC cache with CLOCK mode if key is updated from different nodes 
at same time
      * only one update wins others are ignored (can happen in test event when 
updates are executed from
      * different nodes sequentially), this delay is used to avoid lost updates.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ce20aec3/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
index 8bf8dbc..ec5ebc3 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
@@ -55,6 +55,8 @@ public class IgniteSpiDiscoverySelfTestSuite extends 
TestSuite {
         suite.addTest(new 
TestSuite(TcpClientDiscoverySpiConfigSelfTest.class));
         suite.addTest(new 
TestSuite(TcpClientDiscoveryMarshallerCheckSelfTest.class));
 
+        suite.addTest(new TestSuite(TcpDiscoveryConcurrentStartTest.class));
+
         return suite;
     }
 }

Reply via email to