Repository: ignite
Updated Branches:
  refs/heads/master 24fac2da9 -> 2a82b5104


Fixed TcpDiscoveryWithWrongServerTest.

Signed-off-by: nikolay_tikhonov <[email protected]>


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

Branch: refs/heads/master
Commit: 2a82b5104326e55d1a757ad5018b95aee3226c1b
Parents: 24fac2d
Author: Alexey Popov <[email protected]>
Authored: Thu Nov 2 13:12:03 2017 +0300
Committer: nikolay_tikhonov <[email protected]>
Committed: Thu Nov 2 13:12:03 2017 +0300

----------------------------------------------------------------------
 .../tcp/TcpDiscoveryWithWrongServerTest.java    | 52 +++++++++++---------
 1 file changed, 28 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2a82b510/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryWithWrongServerTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryWithWrongServerTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryWithWrongServerTest.java
index 768f5f7..ffd0d03 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryWithWrongServerTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryWithWrongServerTest.java
@@ -29,6 +29,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.spi.IgniteSpiException;
@@ -40,14 +41,17 @@ import 
org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
  * Client-based discovery SPI test with non-Ignite servers.
  */
 public class TcpDiscoveryWithWrongServerTest extends GridCommonAbstractTest {
-    /** Non-Ignite Server port. */
+    /** Non-Ignite Server port #1. */
     private final static int SERVER_PORT = 47500;
 
-    /** Non-Ignite Server socket. */
-    private ServerSocket srvSock;
+    /** Non-Ignite Server port #2. */
+    private final static int LAST_SERVER_PORT = SERVER_PORT + 5;
+
+    /** Non-Ignite Server sockets. */
+    private List<ServerSocket> srvSocks = new ArrayList<>();
 
     /** Count of accepted connections to non-Ignite Server. */
-    private int connCnt;
+    private AtomicInteger connCnt = new AtomicInteger(0);
 
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
@@ -56,7 +60,7 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
         TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
 
         ipFinder.setAddresses(Collections.singleton("127.0.0.1:" + 
Integer.toString(SERVER_PORT) + ".." +
-            Integer.toString(SERVER_PORT + 2)));
+            Integer.toString(LAST_SERVER_PORT)));
 
         cfg.setDiscoverySpi(new 
TcpDiscoverySpiWithOrderedIps().setIpFinder(ipFinder));
 
@@ -68,7 +72,7 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected void afterTest() throws Exception {
-        stopTcpThread();
+        stopTcpThreads();
 
         stopAllGrids();
 
@@ -79,15 +83,10 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * Starts tcp test thread
      * @param workerFactory one of WorkerFactory
      */
-    private void startTcpThread(final WorkerFactory workerFactory) {
-        connCnt = 0;
+    private void startTcpThread(final WorkerFactory workerFactory, final int 
port) throws Exception {
+        final ServerSocket srvSock = new ServerSocket(port, 10, 
InetAddress.getByName("127.0.0.1"));
 
-        try {
-            srvSock = new ServerSocket(SERVER_PORT, 10, 
InetAddress.getByName("127.0.0.1"));
-        }
-        catch (Exception e) {
-            fail("Unexpected TcpServer exception " + e.getMessage());
-        }
+        srvSocks.add(srvSock);
 
         new GridTestThread(new Runnable() {
             @Override public void run() {
@@ -95,7 +94,7 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
                     while(!Thread.currentThread().isInterrupted()) {
                         Socket clientSock = srvSock.accept();
 
-                        connCnt++;
+                        connCnt.getAndIncrement();
 
                         // Create a new thread for socket connection.
                         new 
GridTestThread(workerFactory.newWorker(clientSock)).start();
@@ -103,7 +102,7 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
                 }
                 catch (Exception e) {
                     if (!srvSock.isClosed())
-                        e.printStackTrace();
+                        log.error("Unexpected error", e);
                 }
             }
         }).start();
@@ -113,9 +112,10 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * Stops tcp test thread
      * @throws IOException IOException
      */
-    private void stopTcpThread() throws IOException {
-        if (srvSock != null && !srvSock.isClosed())
-            srvSock.close();
+    private void stopTcpThreads() throws IOException {
+        for (ServerSocket srvSock: srvSocks)
+            if (!srvSock.isClosed())
+                srvSock.close();
     }
 
     /**
@@ -124,7 +124,8 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * @throws Exception in case of error.
      */
     public void testWrongHandshakeResponse() throws Exception {
-        startTcpThread(new SomeResponseWorker());
+        startTcpThread(new SomeResponseWorker(), SERVER_PORT);
+        startTcpThread(new SomeResponseWorker(), LAST_SERVER_PORT);
 
         simpleTest();
     }
@@ -135,7 +136,8 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * @throws Exception in case of error.
      */
     public void testNoHandshakeResponse() throws Exception {
-        startTcpThread(new NoResponseWorker());
+        startTcpThread(new NoResponseWorker(), SERVER_PORT);
+        startTcpThread(new NoResponseWorker(), LAST_SERVER_PORT);
 
         simpleTest();
     }
@@ -146,7 +148,8 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * @throws Exception in case of error.
      */
     public void testDisconnectOnRequest() throws Exception {
-        startTcpThread(new DisconnectOnRequestWorker());
+        startTcpThread(new DisconnectOnRequestWorker(), SERVER_PORT);
+        startTcpThread(new DisconnectOnRequestWorker(), LAST_SERVER_PORT);
 
         simpleTest();
     }
@@ -157,7 +160,8 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
      * @throws Exception in case of error.
      */
     public void testEarlyDisconnect() throws Exception {
-        startTcpThread(new EarlyDisconnectWorker());
+        startTcpThread(new EarlyDisconnectWorker(), SERVER_PORT);
+        startTcpThread(new EarlyDisconnectWorker(), LAST_SERVER_PORT);
 
         simpleTest();
     }
@@ -176,7 +180,7 @@ public class TcpDiscoveryWithWrongServerTest extends 
GridCommonAbstractTest {
 
             assertEquals(2, srv.cluster().nodes().size());
             assertEquals(2, client.cluster().nodes().size());
-            assertTrue(connCnt >= 2);
+            assertTrue(connCnt.get() >= 2);
 
             srv.getOrCreateCache(DEFAULT_CACHE_NAME).put(1, 1);
 

Reply via email to