You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/07/16 15:50:56 UTC

[01/18] incubator-ignite git commit: ignite-890: logs

Repository: incubator-ignite
Updated Branches:
  refs/heads/master fbc38d779 -> 44043fa23


ignite-890: logs


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

Branch: refs/heads/master
Commit: a1ed65b1f28e44e7633d1d33ba12a4d2242dbc80
Parents: 4031db7
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 11:27:35 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 11:27:35 2015 +0300

----------------------------------------------------------------------
 .../ignite/spi/discovery/tcp/ClientImpl.java    |  7 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 96 ++++++++++++++++----
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     |  6 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |  8 ++
 .../tcp/TcpDiscoveryMultiThreadedTest.java      |  4 +-
 5 files changed, 95 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 3f05f59..75e44d2 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -129,7 +129,8 @@ class ClientImpl extends TcpDiscoveryImpl {
 
         b.append("Stats: ").append(spi.stats).append(U.nl());
 
-        U.quietAndInfo(log, b.toString());
+        System.out.println(b.toString());
+//        U.quietAndInfo(log, b.toString());
     }
 
     /** {@inheritDoc} */
@@ -781,8 +782,8 @@ class ClientImpl extends TcpDiscoveryImpl {
 
                         msg.senderNodeId(rmtNodeId);
 
-                        if (log.isDebugEnabled())
-                            log.debug("Message has been received: " + msg);
+//                        if (log.isDebugEnabled())
+                            log.info("Message has been received: " + msg);
 
                         spi.stats.onMessageReceived(msg);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/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 d51293e..5faa437 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
@@ -1326,7 +1326,7 @@ class ServerImpl extends TcpDiscoveryImpl {
             return;
         }
 
-        assert log.isInfoEnabled();
+        //assert log.isInfoEnabled();
 
         synchronized (mux) {
             StringBuilder b = new StringBuilder(U.nl());
@@ -1379,7 +1379,8 @@ class ServerImpl extends TcpDiscoveryImpl {
 
             b.append("Stats: ").append(spi.stats).append(U.nl());
 
-            U.quietAndInfo(log, b.toString());
+            System.out.println(b.toString());
+            //U.quietAndInfo(log, b.toString());
         }
     }
 
@@ -1820,6 +1821,8 @@ class ServerImpl extends TcpDiscoveryImpl {
         }
     }
 
+    private static volatile boolean dumping;
+
     /**
      * Message worker thread for messages processing.
      */
@@ -1988,7 +1991,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         if (debugMode)
                             debugLog("New next node [newNext=" + newNext + ", formerNext=" + next +
-                                ", ring=" + ring + ", failedNodes=" + failedNodes + ']');
+                                ", ring=" + ring + ", failedNodes=" + failedNodes + ", coord= " + resolveCoordinator() + ']');
 
                         U.closeQuiet(sock);
 
@@ -2059,9 +2062,22 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                                 if (!next.id().equals(nextId)) {
                                     // Node with different ID has bounded to the same port.
-                                    if (log.isDebugEnabled())
-                                        log.debug("Failed to restore ring because next node ID received is not as " +
-                                            "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ']');
+                                    //if (log.isDebugEnabled())
+                                    log.info("Failed to restore ring because next node ID received is not as " +
+                                                 "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ", " +
+                                                 "locNode " + locNodeId + ", ring = " + ring + ']');
+
+//                                    if (!dumping) {
+//                                        synchronized (TcpDiscoverySpi.allSpis) {
+//                                            dumping = true;
+//                                            System.out.println("------------ Start dump ------ ");
+//                                            for (TcpDiscoverySpi spi : TcpDiscoverySpi.allSpis)
+//                                                spi.dumpDebugInfo();
+//                                        }
+//                                    System.out.println("------------- End dump -----------");
+//
+//                                        System.exit(1);
+//                                    }
 
                                     if (debugMode)
                                         debugLog("Failed to restore ring because next node ID received is not as " +
@@ -2216,7 +2232,8 @@ class ServerImpl extends TcpDiscoveryImpl {
                                         ", next=" + next.id() +
                                         ", res=" + res + ']');
 
-                                if (debugMode)
+                                if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
+                                    && !(msg instanceof  TcpDiscoveryCustomEventMessage))
                                     debugLog("Message has been sent to next node [msg=" + msg +
                                         ", next=" + next.id() +
                                         ", res=" + res + ']');
@@ -2804,28 +2821,48 @@ class ServerImpl extends TcpDiscoveryImpl {
                         if (log.isDebugEnabled())
                             log.debug("Accept client reconnect, restored pending messages " +
                                 "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
+                        if (debugMode)
+                            debugLog("Accept client reconnect, restored pending messages " +
+                                         "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
                     }
                     else {
                         if (log.isDebugEnabled())
                             log.debug("Failing reconnecting client node because failed to restore pending " +
                                 "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
 
+                        if (debugMode)
+                            debugLog("Failing reconnecting client node because failed to restore pending " +
+                                         "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
                         processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
                             node.id(), node.internalOrder()));
                     }
                 }
             }
-            else if (log.isDebugEnabled())
-                log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+            else {
+                if (log.isDebugEnabled())
+                    log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+
+                if (debugMode)
+                    debugLog("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+            }
 
             if (isLocNodeRouter) {
                 ClientMessageWorker wrk = clientMsgWorkers.get(nodeId);
 
                 if (wrk != null)
                     wrk.addMessage(msg);
-                else if (log.isDebugEnabled())
-                    log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
-                        locNodeId + ", clientNodeId=" + nodeId + ']');
+                else {
+                    if (log.isDebugEnabled())
+                        log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+                                      locNodeId + ", clientNodeId=" + nodeId + ']');
+
+                    if (debugMode)
+                        debugLog("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+                                      locNodeId + ", clientNodeId=" + nodeId + ']');
+                }
             }
             else {
                 if (ring.hasRemoteNodes())
@@ -3219,6 +3256,9 @@ class ServerImpl extends TcpDiscoveryImpl {
                         if (log.isDebugEnabled())
                             log.debug("Starting local node stop procedure.");
 
+                        if (debugMode)
+                            debugLog("Starting local node stop procedure.");
+
                         spiState = STOPPING;
 
                         mux.notifyAll();
@@ -3226,6 +3266,9 @@ class ServerImpl extends TcpDiscoveryImpl {
                 }
 
                 if (msg.verified() || !ring.hasRemoteNodes() || msg.senderNodeId() != null) {
+                    if (debugMode)
+                        debugLog("Do stop local node: [msg=" + msg + ", hasRemote=" + ring.hasRemoteNodes() + ']');
+
                     if (spi.ipFinder.isShared() && !ring.hasRemoteNodes()) {
                         try {
                             spi.ipFinder.unregisterAddresses(locNode.socketAddresses());
@@ -3252,8 +3295,11 @@ class ServerImpl extends TcpDiscoveryImpl {
             }
 
             if (ring.node(msg.senderNodeId()) == null) {
-                if (log.isDebugEnabled())
-                    log.debug("Discarding node left message since sender node is not in topology: " + msg);
+//                if (log.isDebugEnabled())
+                    log.info("Discarding node left message since sender node is not in topology: " + msg);
+
+                if (debugMode)
+                    debugLog("Discarding node left message since sender node is not in topology: " + msg);
 
                 return;
             }
@@ -3266,8 +3312,11 @@ class ServerImpl extends TcpDiscoveryImpl {
                 }
             }
             else {
-                if (log.isDebugEnabled())
-                    log.debug("Discarding node left message since node was not found: " + msg);
+//                if (log.isDebugEnabled())
+                    log.info("Discarding node left message since node was not found: " + msg);
+
+                if (debugMode)
+                    debugLog("Discarding node left message since node was not found: " + msg);
 
                 return;
             }
@@ -3276,6 +3325,9 @@ class ServerImpl extends TcpDiscoveryImpl {
 
             if (locNodeCoord) {
                 if (msg.verified()) {
+                    if (!locNode.id().equals(msg.verifierNodeId()))
+                        System.out.println("Fuck!!: [loc=" + locNode + ", verifier=" + msg.verifierNodeId());
+
                     spi.stats.onRingMessageReceived(msg);
 
                     addMessage(new TcpDiscoveryDiscardMessage(locNodeId, msg.id()));
@@ -3294,6 +3346,9 @@ class ServerImpl extends TcpDiscoveryImpl {
                 if (log.isDebugEnabled())
                     log.debug("Removed node from topology: " + leftNode);
 
+                if (debugMode)
+                    debugLog("Removed node from topology: " + leftNode);
+
                 long topVer;
 
                 if (locNodeCoord) {
@@ -3329,6 +3384,9 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         if (log.isDebugEnabled())
                             log.debug("Sent verified node left message to leaving node: " + msg);
+
+                        if (debugMode)
+                            debugLog("Sent verified node left message to leaving node: " + msg);
                     }
                     catch (IgniteCheckedException | IOException e) {
                         if (log.isDebugEnabled())
@@ -3372,6 +3430,9 @@ class ServerImpl extends TcpDiscoveryImpl {
                 if (log.isDebugEnabled())
                     log.debug("Unable to send message across the ring (topology has no remote nodes): " + msg);
 
+                if (debugMode)
+                    debugLog("Unable to send message across the ring (topology has no remote nodes): " + msg);
+
                 U.closeQuiet(sock);
             }
         }
@@ -4290,7 +4351,8 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         spi.stats.onMessageReceived(msg);
 
-                        if (debugMode && recordable(msg))
+                        if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
+                            && !(msg instanceof  TcpDiscoveryCustomEventMessage) && recordable(msg))
                             debugLog("Message has been received: " + msg);
 
                         if (msg instanceof TcpDiscoveryJoinRequestMessage) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index ace917f..9172afe 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -103,9 +103,9 @@ abstract class TcpDiscoveryImpl {
         debugLog.add(msg0);
 
         int delta = debugLog.size() - debugMsgHist;
-
-        for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
-            debugLog.poll();
+//
+//        for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
+//            debugLog.poll();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 7663fe6..650c22d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -327,6 +327,8 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
     /** */
     private boolean forceSrvMode;
 
+    public static volatile ArrayList<TcpDiscoverySpi> allSpis = new ArrayList<>();
+
     /** {@inheritDoc} */
     @Override public String getSpiState() {
         return impl.getSpiState();
@@ -1561,6 +1563,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
             impl = new ServerImpl(this);
         }
 
+        impl.setDebugMode(true);
+
+        synchronized (allSpis) {
+            allSpis.add(this);
+        }
+
         assertParameter(ipFinder != null, "ipFinder != null");
         assertParameter(hbFreq > 0, "heartbeatFreq > 0");
         assertParameter(netTimeout > 0, "networkTimeout > 0");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 0bf7cad..1ae334b 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -95,15 +95,13 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected long getTestTimeout() {
-        return 5 * 60 * 1000;
+        return 2 * 60 * 1000;
     }
 
     /**
      * @throws Exception If any error occurs.
      */
     public void testMultiThreaded() throws Exception {
-        fail("https://issues.apache.org/jira/browse/IGNITE-1100");
-
         execute();
     }
 


[03/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: 97ab409f52b106a75819d77ad5a6fef66e9dc1c7
Parents: c4f933f bee6f68
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 16:57:00 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 16:57:00 2015 +0300

----------------------------------------------------------------------
 RELEASE_NOTES.txt                               |  12 ++
 .../src/main/java/org/apache/ignite/Ignite.java |   2 +-
 .../configuration/CacheConfiguration.java       |   4 +
 .../configuration/TransactionConfiguration.java |  23 +++
 .../apache/ignite/internal/IgniteKernal.java    |  32 +--
 .../processors/cache/GridCacheAttributes.java   |   3 +
 .../processors/cache/GridCacheContext.java      |   8 +-
 .../processors/cache/GridCacheIoManager.java    |   8 +-
 .../processors/cache/GridCacheProcessor.java    | 118 ++++-------
 .../cache/GridCacheSharedContext.java           |  15 +-
 .../distributed/near/GridNearGetFuture.java     |   4 +-
 .../cache/jta/CacheJtaManagerAdapter.java       |  17 +-
 .../cache/jta/CacheNoopJtaManager.java          |   2 +-
 .../continuous/CacheContinuousQueryHandler.java |   4 +-
 .../datastructures/DataStructuresProcessor.java |  39 +++-
 .../GridCacheCountDownLatchImpl.java            |  15 +-
 .../visor/cache/VisorCacheConfiguration.java    |  11 -
 ...cheStoreSessionListenerAbstractSelfTest.java |   1 -
 .../cache/CacheFutureExceptionSelfTest.java     | 161 +++++++--------
 .../IgniteCacheConfigurationTemplateTest.java   |  26 +--
 .../cache/IgniteDynamicCacheStartSelfTest.java  |  16 +-
 .../IgniteDynamicClientCacheStartSelfTest.java  |   5 +-
 .../IgniteClientDataStructuresAbstractTest.java | 109 +++++++---
 .../IgniteCountDownLatchAbstractSelfTest.java   |  12 +-
 .../loadtests/hashmap/GridCacheTestContext.java |   4 +-
 .../testsuites/IgniteHadoopTestSuite.java       |   2 +-
 .../HibernateTransactionalDataRegion.java       |  12 +-
 .../hibernate/HibernateL2CacheSelfTest.java     |   7 +-
 .../HibernateL2CacheTransactionalSelfTest.java  |   5 -
 .../apache/ignite/cache/jta/CacheTmLookup.java  |   3 +-
 .../processors/cache/jta/CacheJtaManager.java   |  72 ++++++-
 .../cache/jta/GridCacheXAResource.java          |  16 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |  52 +++--
 .../GridTmLookupLifecycleAwareSelfTest.java     |  29 ++-
 modules/kafka/licenses/apache-2.0.txt           | 202 +++++++++++++++++++
 modules/kafka/pom.xml                           |  11 -
 .../util/spring/IgniteSpringHelperImpl.java     |  10 +-
 .../IgniteExcludeInConfigurationTest.java       |   5 +-
 .../org/apache/ignite/spring/sprint-exclude.xml |  19 ++
 .../commands/cache/VisorCacheCommand.scala      |   2 -
 .../visor/commands/open/VisorOpenCommand.scala  |   2 +-
 .../config/benchmark-put-indexed-val.properties |  64 ++++++
 modules/yardstick/config/ignite-base-config.xml |  23 +++
 .../cache/IgnitePutIndexedValue1Benchmark.java  |  42 ++++
 .../cache/IgnitePutIndexedValue2Benchmark.java  |  42 ++++
 .../cache/IgnitePutIndexedValue8Benchmark.java  |  42 ++++
 .../ignite/yardstick/cache/model/Person1.java   |  55 +++++
 .../ignite/yardstick/cache/model/Person2.java   |  67 ++++++
 .../ignite/yardstick/cache/model/Person8.java   | 109 ++++++++++
 49 files changed, 1168 insertions(+), 376 deletions(-)
----------------------------------------------------------------------



[07/18] incubator-ignite git commit: ignite-890: fixing

Posted by sb...@apache.org.
ignite-890: fixing


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

Branch: refs/heads/master
Commit: e25d5b11cb08ba7fcb0a64721603de3f8c50aa28
Parents: dce50db
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 14:01:46 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 14:01:46 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/spi/discovery/tcp/ServerImpl.java   |  4 ++++
 .../spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java  |  8 ++++----
 .../ignite/testframework/junits/GridAbstractTest.java     | 10 ++++++++--
 3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/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 ff33efa..33abe55 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
@@ -1710,6 +1710,8 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                     if (res != null && msg.verified())
                         res.add(prepare(msg, node.id()));
+                    else
+                        log.info("(1) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
                 }
 
                 if (log.isDebugEnabled()) {
@@ -1736,6 +1738,8 @@ class ServerImpl extends TcpDiscoveryImpl {
                     }
                     else if (msg.verified())
                         cp.add(prepare(msg, node.id()));
+                    else
+                        log.info("(2) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
                 }
 
                 cp = !skip ? cp : null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index b291b9c..cd07341 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
  */
 public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     /** */
-    private static final int GRID_CNT = 3;
+    private static final int GRID_CNT = 4;
 
     /** */
-    private static final int CLIENT_GRID_CNT = 2;
+    private static final int CLIENT_GRID_CNT = 1;
 
     /** */
     private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -185,7 +185,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
                     int idx = clientIdx.getAndIncrement();
 
                     while (!done.get()) {
-                        stopGrid(idx);
+                        assertTrue(stopGrid(idx, true));
                         startGrid(idx);
                     }
 
@@ -208,7 +208,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
                     while (!done.get()) {
                         int idx = srvIdx.take();
 
-                        stopGrid(idx);
+                        assertTrue(stopGrid(idx, true));
                         startGrid(idx);
 
                         srvIdx.add(idx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/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 06a1523..29d204e 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
@@ -1022,9 +1022,11 @@ public abstract class GridAbstractTest extends TestCase {
      * @param cancel Cancel flag.
      */
     @SuppressWarnings("deprecation")
-    protected void stopGrid(int idx, boolean cancel) {
+    protected boolean stopGrid(int idx, boolean cancel) {
         String gridName = getTestGridName(idx);
 
+        boolean res;
+
         try {
             Ignite ignite = G.ignite(gridName);
 
@@ -1032,16 +1034,20 @@ public abstract class GridAbstractTest extends TestCase {
 
             info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
 
-            G.stop(gridName, cancel);
+            res = G.stop(gridName, cancel);
         }
         catch (IllegalStateException ignored) {
             // Ignore error if grid already stopped.
+            res = true;
         }
         catch (Throwable e) {
             error("Failed to stop grid [gridName=" + gridName + ", cancel=" + cancel + ']', e);
 
             stopGridErr = true;
+            res = false;
         }
+
+        return res;
     }
 
     /**


[04/18] incubator-ignite git commit: ignite-890: fixes

Posted by sb...@apache.org.
ignite-890: fixes


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

Branch: refs/heads/master
Commit: 226b44ff2034a6a55022bc7d8c5819d2c193b948
Parents: 97ab409
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 17:10:18 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 17:10:18 2015 +0300

----------------------------------------------------------------------
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 14 +++---
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 47 ++++----------------
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     | 22 ++++-----
 .../tcp/TcpDiscoveryMultiThreadedTest.java      |  2 +-
 4 files changed, 27 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 68017a2..d138a6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -595,11 +595,11 @@ class ClientImpl extends TcpDiscoveryImpl {
         NavigableSet<ClusterNode> allNodes = allVisibleNodes();
 
         if (!topHist.containsKey(topVer)) {
-//            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
-//                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
-//                ", newVer=" + topVer +
-//                ", locNode=" + locNode +
-//                ", msg=" + msg;
+            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+                ", newVer=" + topVer +
+                ", locNode=" + locNode +
+                ", msg=" + msg;
 
             topHist.put(topVer, allNodes);
 
@@ -782,8 +782,8 @@ class ClientImpl extends TcpDiscoveryImpl {
 
                         msg.senderNodeId(rmtNodeId);
 
-//                        if (log.isDebugEnabled())
-                            log.info("Message has been received: " + msg);
+                        if (log.isDebugEnabled())
+                            log.debug("Message has been received: " + msg);
 
                         spi.stats.onMessageReceived(msg);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/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 e398885..4d4b2a7 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
@@ -2000,7 +2000,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         if (debugMode)
                             debugLog("New next node [newNext=" + newNext + ", formerNext=" + next +
-                                ", ring=" + ring + ", failedNodes=" + failedNodes + ", coord= " + resolveCoordinator() + ']');
+                                ", ring=" + ring + ", failedNodes=" + failedNodes + ']');
 
                         U.closeQuiet(sock);
 
@@ -2071,22 +2071,9 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                                 if (!next.id().equals(nextId)) {
                                     // Node with different ID has bounded to the same port.
-                                    //if (log.isDebugEnabled())
-                                    log.info("Failed to restore ring because next node ID received is not as " +
-                                                 "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ", " +
-                                                 "locNode " + locNodeId + ", ring = " + ring + ']');
-
-//                                    if (!dumping) {
-//                                        synchronized (TcpDiscoverySpi.allSpis) {
-//                                            dumping = true;
-//                                            System.out.println("------------ Start dump ------ ");
-//                                            for (TcpDiscoverySpi spi : TcpDiscoverySpi.allSpis)
-//                                                spi.dumpDebugInfo();
-//                                        }
-//                                    System.out.println("------------- End dump -----------");
-//
-//                                        System.exit(1);
-//                                    }
+                                    if (log.isDebugEnabled())
+                                        log.debug("Failed to restore ring because next node ID received is not as " +
+                                            "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ']');
 
                                     if (debugMode)
                                         debugLog("Failed to restore ring because next node ID received is not as " +
@@ -3304,11 +3291,8 @@ class ServerImpl extends TcpDiscoveryImpl {
             }
 
             if (ring.node(msg.senderNodeId()) == null) {
-//                if (log.isDebugEnabled())
-                    log.info("Discarding node left message since sender node is not in topology: " + msg);
-
-                if (debugMode)
-                    debugLog("Discarding node left message since sender node is not in topology: " + msg);
+                if (log.isDebugEnabled())
+                    log.debug("Discarding node left message since sender node is not in topology: " + msg);
 
                 return;
             }
@@ -3321,11 +3305,8 @@ class ServerImpl extends TcpDiscoveryImpl {
                 }
             }
             else {
-//                if (log.isDebugEnabled())
-                    log.info("Discarding node left message since node was not found: " + msg);
-
-                if (debugMode)
-                    debugLog("Discarding node left message since node was not found: " + msg);
+                if (log.isDebugEnabled())
+                    log.debug("Discarding node left message since node was not found: " + msg);
 
                 return;
             }
@@ -3334,9 +3315,6 @@ class ServerImpl extends TcpDiscoveryImpl {
 
             if (locNodeCoord) {
                 if (msg.verified()) {
-                    if (!locNode.id().equals(msg.verifierNodeId()))
-                        System.out.println("Fuck!!: [loc=" + locNode + ", verifier=" + msg.verifierNodeId());
-
                     spi.stats.onRingMessageReceived(msg);
 
                     addMessage(new TcpDiscoveryDiscardMessage(locNodeId, msg.id()));
@@ -3355,9 +3333,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                 if (log.isDebugEnabled())
                     log.debug("Removed node from topology: " + leftNode);
 
-                if (debugMode)
-                    debugLog("Removed node from topology: " + leftNode);
-
                 long topVer;
 
                 if (locNodeCoord) {
@@ -3393,9 +3368,6 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         if (log.isDebugEnabled())
                             log.debug("Sent verified node left message to leaving node: " + msg);
-
-                        if (debugMode)
-                            debugLog("Sent verified node left message to leaving node: " + msg);
                     }
                     catch (IgniteCheckedException | IOException e) {
                         if (log.isDebugEnabled())
@@ -3439,9 +3411,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                 if (log.isDebugEnabled())
                     log.debug("Unable to send message across the ring (topology has no remote nodes): " + msg);
 
-                if (debugMode)
-                    debugLog("Unable to send message across the ring (topology has no remote nodes): " + msg);
-
                 U.closeQuiet(sock);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index 8fedce1..ace917f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -95,17 +95,17 @@ abstract class TcpDiscoveryImpl {
     protected void debugLog(String msg) {
         assert debugMode;
 
-//        String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
-//            '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
-//            "-" + locNode.internalOrder() + "] " +
-//            msg;
-//
-//        debugLog.add(msg0);
-//
-//        int delta = debugLog.size() - debugMsgHist;
-//
-//        for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
-//            debugLog.poll();
+        String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
+            '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
+            "-" + locNode.internalOrder() + "] " +
+            msg;
+
+        debugLog.add(msg0);
+
+        int delta = debugLog.size() - debugMsgHist;
+
+        for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
+            debugLog.poll();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 87d9304..2aca2fb 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -217,7 +217,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
                     return null;
                 }
             },
-            1
+            GRID_CNT - 1
         );
 
         Thread.sleep(getTestTimeout() - 60 * 1000);


[14/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: e402e98e384f9d1de0d6e64591ecbc1a8464f22c
Parents: 86b8545 de7e06f
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed Jul 15 08:44:53 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed Jul 15 08:44:53 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/cache/CacheTypeMetadata.java  | 53 ++++++++++----------
 .../dht/atomic/GridDhtAtomicCache.java          |  4 +-
 .../dht/atomic/GridNearAtomicUpdateFuture.java  | 20 ++++++--
 ...eAtomicInvalidPartitionHandlingSelfTest.java |  2 +-
 ...acheAtomicReplicatedNodeRestartSelfTest.java | 15 ------
 5 files changed, 45 insertions(+), 49 deletions(-)
----------------------------------------------------------------------



[13/18] incubator-ignite git commit: ignite-890: fixed

Posted by sb...@apache.org.
ignite-890: fixed


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

Branch: refs/heads/master
Commit: 86b85455fcfb03958acf1db7cca4c62179989c2e
Parents: baeb924
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 15:50:02 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 15:50:02 2015 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java | 8 +++++---
 .../spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java     | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/86b85455/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 838b89a..3f05f59 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -594,9 +594,11 @@ class ClientImpl extends TcpDiscoveryImpl {
         NavigableSet<ClusterNode> allNodes = allVisibleNodes();
 
         if (!topHist.containsKey(topVer)) {
-            if (!topHist.isEmpty() && topHist.lastKey() != topVer - 1)
-                log.warning("Missing particular topology version [lastVer=" + (topHist.isEmpty() ? null :
-                    topHist.lastKey()) + ", newVer=" + topVer + ", locNode=" + locNode + ", msg=" + msg);
+            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+                ", newVer=" + topVer +
+                ", locNode=" + locNode +
+                ", msg=" + msg;
 
             topHist.put(topVer, allNodes);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/86b85455/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index fa70828..9643235 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -146,7 +146,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
      */
     public void testMultiThreadedClientsServersRestart() throws Exception {
         fail("https://issues.apache.org/jira/browse/IGNITE-1123");
-        
+
         clientFlagGlobal = false;
 
         info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");


[16/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: b601a62a3ce1935afea803814bef830bd7f0230f
Parents: 10f3fad bdd1762
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed Jul 15 17:13:25 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed Jul 15 17:13:25 2015 +0300

----------------------------------------------------------------------
 .../GridCacheAbstractNodeRestartSelfTest.java           | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[18/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/ignite-890'

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-890'


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

Branch: refs/heads/master
Commit: 44043fa23ecd282fa69521faaaaa3ef74630f8da
Parents: fbc38d7 5c55812
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 16 16:36:48 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 16 16:36:48 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |  14 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   2 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java    |  35 ++++-
 .../tcp/TcpDiscoveryMultiThreadedTest.java      | 140 ++++++++++++-------
 4 files changed, 131 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/44043fa2/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/44043fa2/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/44043fa2/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------


[11/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: da5d7e5d6bcfad8ba8f182c02c80241992ec994e
Parents: 4201077 d52fe87
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 13:54:49 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 13:54:49 2015 +0300

----------------------------------------------------------------------
 examples/pom.xml                                |  2 +-
 modules/aop/pom.xml                             |  2 +-
 modules/aws/pom.xml                             |  2 +-
 modules/clients/pom.xml                         |  2 +-
 modules/cloud/pom.xml                           |  2 +-
 modules/codegen/pom.xml                         |  2 +-
 modules/core/pom.xml                            |  2 +-
 .../processors/cache/GridCacheContext.java      | 14 +++++------
 .../core/src/main/resources/ignite.properties   |  2 +-
 modules/extdata/p2p/pom.xml                     |  2 +-
 .../extdata/uri/modules/uri-dependency/pom.xml  |  6 ++---
 modules/extdata/uri/pom.xml                     | 26 ++++++++------------
 modules/gce/pom.xml                             |  2 +-
 modules/geospatial/pom.xml                      |  2 +-
 modules/hadoop/pom.xml                          |  2 +-
 modules/hibernate/pom.xml                       |  2 +-
 modules/indexing/pom.xml                        |  2 +-
 modules/jcl/pom.xml                             |  2 +-
 modules/jta/pom.xml                             |  2 +-
 modules/kafka/pom.xml                           |  2 +-
 modules/log4j/pom.xml                           |  2 +-
 modules/mesos/pom.xml                           |  2 +-
 modules/rest-http/pom.xml                       |  2 +-
 modules/scalar-2.10/pom.xml                     |  2 +-
 modules/scalar/pom.xml                          |  2 +-
 modules/schedule/pom.xml                        |  2 +-
 modules/schema-import/pom.xml                   |  2 +-
 modules/slf4j/pom.xml                           |  2 +-
 modules/spark-2.10/pom.xml                      |  2 +-
 modules/spark/pom.xml                           |  2 +-
 modules/spring/pom.xml                          |  2 +-
 modules/ssh/pom.xml                             |  2 +-
 modules/tools/pom.xml                           |  2 +-
 modules/urideploy/pom.xml                       |  2 +-
 modules/visor-console-2.10/pom.xml              |  2 +-
 modules/visor-console/pom.xml                   |  2 +-
 modules/visor-plugins/pom.xml                   |  2 +-
 modules/web/pom.xml                             |  2 +-
 modules/yardstick/pom.xml                       |  2 +-
 pom.xml                                         |  2 +-
 40 files changed, 56 insertions(+), 64 deletions(-)
----------------------------------------------------------------------



[09/18] incubator-ignite git commit: fix

Posted by sb...@apache.org.
fix


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

Branch: refs/heads/master
Commit: dda77273b382fbafb96f3710beb514451189e4c5
Parents: cddbed5
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 19:08:11 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 19:08:11 2015 +0300

----------------------------------------------------------------------
 .../communication/tcp/TcpCommunicationSpi.java  |  7 +-
 .../tcp/TcpDiscoveryMultiThreadedTest.java      | 77 ++------------------
 2 files changed, 9 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dda77273/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index f62cdd4..dcc7037 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -2066,7 +2066,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                         client = null;
                     }
 
-                    onException("Handshake timedout (will retry with increased timeout) [timeout=" + connTimeout0 +
+                    onException("Handshake timeout (will retry with increased timeout) [timeout=" + connTimeout0 +
                         ", addr=" + addr + ']', e);
 
                     if (log.isDebugEnabled())
@@ -2100,8 +2100,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     }
                 }
                 catch (Exception e) {
-                    if (!getSpiContext().localNode().isClient() && node.isClient())
-                        getSpiContext().tryFailNode(node.id(), "Killing client");
+                    if (X.hasCause(e, HandshakeFailureException.class) && node.isClient() &&
+                        !getSpiContext().isStopping())
+                        getSpiContext().tryFailNode(node.id(), "Killing client: " + e.getMessage());
 
                     if (client != null) {
                         client.forceClose();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dda77273/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 169a8b5..61fe95d 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
  */
 public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     /** */
-    private static final int GRID_CNT = 4;
+    private static final int GRID_CNT = 5;
 
     /** */
-    private static final int CLIENT_GRID_CNT = 1;
+    private static final int CLIENT_GRID_CNT = 5;
 
     /** */
     private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -102,7 +102,9 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
      * @throws Exception If any error occurs.
      */
     public void testMultiThreaded() throws Exception {
-        execute2();
+        //fail("https://issues.apache.org/jira/browse/IGNITE-1100");
+
+        execute();
     }
 
     /**
@@ -164,75 +166,6 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     /**
      * @throws Exception If failed.
      */
-    private void execute2() throws Exception {
-        info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
-
-        startGridsMultiThreaded(GRID_CNT);
-
-        clientFlagGlobal = true;
-
-        startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
-
-        final AtomicBoolean done = new AtomicBoolean();
-
-        final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
-
-        IgniteInternalFuture<?> fut1 = multithreadedAsync(
-            new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    clientFlagPerThread.set(true);
-
-                    int idx = clientIdx.getAndIncrement();
-
-                    while (!done.get()) {
-                        stopGrid(idx);
-                        //assertTrue(stopGrid(idx, true));
-                        startGrid(idx);
-                    }
-
-                    return null;
-                }
-            },
-            1
-        );
-
-        final BlockingQueue<Integer> srvIdx = new LinkedBlockingQueue<>();
-
-        for (int i = 0; i < GRID_CNT; i++)
-            srvIdx.add(i);
-
-        IgniteInternalFuture<?> fut2 = multithreadedAsync(
-            new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    clientFlagPerThread.set(false);
-
-                    while (!done.get()) {
-                        int idx = srvIdx.take();
-
-                        stopGrid(idx);
-                        //assertTrue(stopGrid(idx, true));
-                        startGrid(idx);
-
-                        srvIdx.add(idx);
-                    }
-
-                    return null;
-                }
-            },
-            GRID_CNT - 1
-        );
-
-        Thread.sleep(getTestTimeout() - 60 * 1000);
-
-        done.set(true);
-
-        fut1.get();
-        fut2.get();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
     private void execute() throws Exception {
         info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
 


[05/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: b3355008a3daea5eeaec49da5eb1a4373acb0743
Parents: 226b44f aa2d7cb
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 12:32:53 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 12:32:53 2015 +0300

----------------------------------------------------------------------
 .../examples/ScalarCacheAffinityExample.scala   |   2 +-
 .../scalar/examples/ScalarCacheExample.scala    |   2 +-
 .../ScalarCachePopularNumbersExample.scala      |   2 +-
 .../examples/ScalarCacheQueryExample.scala      |   2 +-
 .../examples/ScalarSnowflakeSchemaExample.scala |   4 +-
 modules/core/pom.xml                            |   7 +
 .../java/org/apache/ignite/IgniteCache.java     |  14 +-
 .../org/apache/ignite/cache/CacheManager.java   |  13 +-
 .../affinity/fair/FairAffinityFunction.java     |   5 +-
 .../configuration/CacheConfiguration.java       |   2 +-
 .../apache/ignite/internal/IgniteKernal.java    |   2 +-
 .../discovery/GridDiscoveryManager.java         |  23 +-
 .../cache/DynamicCacheChangeRequest.java        |  39 +-
 .../processors/cache/GridCacheGateway.java      |   4 +-
 .../GridCachePartitionExchangeManager.java      |   6 +-
 .../processors/cache/GridCacheProcessor.java    | 102 ++-
 .../processors/cache/IgniteCacheProxy.java      | 448 +++++++---
 .../distributed/dht/GridDhtCacheEntry.java      |   4 +-
 .../GridDhtPartitionsExchangeFuture.java        |  30 +-
 .../datastreamer/DataStreamProcessor.java       |   3 +
 .../ignite/internal/util/IgniteUtils.java       |   6 +-
 .../visor/cache/VisorCacheStopTask.java         |   2 +-
 .../tcp/internal/TcpDiscoveryNode.java          |   8 +-
 .../META-INF/classnames-jdk.properties          |   3 +
 .../affinity/IgniteClientNodeAffinityTest.java  |  14 +-
 .../IgniteFairAffinityDynamicCacheSelfTest.java |   3 +-
 ...cheStoreSessionListenerAbstractSelfTest.java | 111 ++-
 .../GridCacheTxLoadFromStoreOnLockSelfTest.java |  34 +-
 .../CacheMetricsForClusterGroupSelfTest.java    |  10 +-
 .../cache/CacheOffheapMapEntrySelfTest.java     |   7 +-
 .../cache/CacheStopAndDestroySelfTest.java      | 859 +++++++++++++++++++
 ...eUsageMultinodeDynamicStartAbstractTest.java |   2 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java | 323 ++++---
 .../cache/GridCacheAbstractSelfTest.java        |  14 +-
 ...ProjectionForCachesOnDaemonNodeSelfTest.java |   2 +-
 .../cache/IgniteDynamicCacheStartSelfTest.java  | 140 +--
 ...teCacheClientNodePartitionsExchangeTest.java |  29 +-
 ...eAtomicNearOnlyMultiNodeFullApiSelfTest.java |   3 +
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |   5 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |  10 +-
 ...achePartitionedMultiNodeFullApiSelfTest.java |  48 +-
 ...CacheLocalOffHeapAndSwapMetricsSelfTest.java |   2 +-
 ...OnlyFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...AtomicClientOnlyMultiJvmFullApiSelfTest.java |  31 +
 ...tOnlyMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...pyOnReadDisabledMultiJvmFullApiSelfTest.java |  31 +
 ...omicFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 .../GridCacheAtomicMultiJvmFullApiSelfTest.java |  30 +
 ...tomicMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...bledFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...tomicNearEnabledMultiJvmFullApiSelfTest.java |  31 +
 ...rimaryWriteOrderMultiJvmFullApiSelfTest.java |  31 +
 ...heAtomicNearOnlyMultiJvmFullApiSelfTest.java |  31 +
 ...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...cheAtomicOffHeapMultiJvmFullApiSelfTest.java |  31 +
 ...micOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 ...rderFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...rimaryWriteOrderMultiJvmFullApiSelfTest.java |  31 +
 ...OrderMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...rityOrderOffHeapMultiJvmFullApiSelfTest.java |  31 +
 ...derOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 ...OnlyFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...ridCacheNearOnlyMultiJvmFullApiSelfTest.java |  30 +
 ...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...pyOnReadDisabledMultiJvmFullApiSelfTest.java |  31 +
 ...onedFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...CachePartitionedMultiJvmFullApiSelfTest.java |  30 +
 ...ionedMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...micOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 ...bledFairAffinityMultiJvmFullApiSelfTest.java |  31 +
 ...onedNearDisabledMultiJvmFullApiSelfTest.java |  31 +
 ...abledMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...rDisabledOffHeapMultiJvmFullApiSelfTest.java |  31 +
 ...ledOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 ...rtitionedOffHeapMultiJvmFullApiSelfTest.java |  31 +
 ...nedOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 ...ReplicatedAtomicMultiJvmFullApiSelfTest.java |  31 +
 ...rimaryWriteOrderMultiJvmFullApiSelfTest.java |  31 +
 ...dCacheReplicatedMultiJvmFullApiSelfTest.java |  30 +
 ...catedMultiJvmP2PDisabledFullApiSelfTest.java |  31 +
 ...plicatedNearOnlyMultiJvmFullApiSelfTest.java |  37 +
 ...eplicatedOffHeapMultiJvmFullApiSelfTest.java |  31 +
 ...tedOffHeapTieredMultiJvmFullApiSelfTest.java |  36 +
 .../DataStreamerMultinodeCreateCacheTest.java   |  14 +-
 .../GridCommandLineTransformerSelfTest.java     |  12 +-
 .../testframework/junits/GridAbstractTest.java  | 380 +++++++-
 .../junits/common/GridCommonAbstractTest.java   |  50 +-
 .../junits/multijvm/AffinityProcessProxy.java   | 195 +++++
 .../multijvm/IgniteCacheProcessProxy.java       | 602 +++++++++++++
 .../multijvm/IgniteClusterProcessProxy.java     | 320 +++++++
 .../multijvm/IgniteEventsProcessProxy.java      | 148 ++++
 .../junits/multijvm/IgniteNodeRunner.java       | 184 ++++
 .../junits/multijvm/IgniteProcessProxy.java     | 571 ++++++++++++
 ...IgniteCacheFullApiMultiJvmSelfTestSuite.java |  89 ++
 .../testsuites/IgniteCacheTestSuite4.java       |   2 +
 .../CacheConfigurationP2PTestClient.java        |   4 +-
 parent/pom.xml                                  |  40 +
 pom.xml                                         |   1 -
 98 files changed, 5707 insertions(+), 557 deletions(-)
----------------------------------------------------------------------



[10/18] incubator-ignite git commit: ignite-890: fix

Posted by sb...@apache.org.
ignite-890: fix


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

Branch: refs/heads/master
Commit: 4201077f85ee814c812c0cf8e3848ec0ffcad563
Parents: dda7727
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 13:53:06 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 13:53:06 2015 +0300

----------------------------------------------------------------------
 .../managers/discovery/GridDiscoveryManager.java    |  4 ++--
 .../spi/communication/tcp/TcpCommunicationSpi.java  | 14 +++++---------
 .../apache/ignite/spi/discovery/tcp/ClientImpl.java | 16 +++++++++-------
 .../apache/ignite/spi/discovery/tcp/ServerImpl.java | 16 +++++++++++-----
 .../discovery/tcp/internal/TcpDiscoveryNode.java    |  6 ++++++
 .../tcp/TcpDiscoveryMultiThreadedTest.java          |  2 +-
 6 files changed, 34 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/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 eae07ed..80f7f98 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
@@ -1589,7 +1589,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
             new Runnable() {
                 @Override public void run() {
                     ctx.markSegmented();
-
+                    System.out.println("Stopping grid on segmentation: " + ctx.gridName());
                     G.stop(ctx.gridName(), true);
                 }
             }
@@ -1896,7 +1896,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
                     segmented = true;
 
                     if (!isLocDaemon)
-                        U.warn(log, "Local node SEGMENTED: " + node);
+                        U.warn(log, "Local node SEGMENTED: " + node + ", remote_nodes = " + getSpi().getRemoteNodes());
                     else if (log.isDebugEnabled())
                         log.debug("Local node SEGMENTED: " + node);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index dcc7037..423f4ef 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1728,8 +1728,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
             GridCommunicationClient client = clients.get(nodeId);
 
             if (client == null) {
-                //if (isNodeStopping())
-                //    throw new IgniteSpiException("Node is stopping.");
+                if (isNodeStopping())
+                    throw new IgniteSpiException("Node is stopping.");
 
                 // Do not allow concurrent connects.
                 GridFutureAdapter<GridCommunicationClient> fut = new ConnectFuture();
@@ -1899,8 +1899,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                 }
             }
             catch (IgniteCheckedException | RuntimeException | Error e) {
-                if (!getSpiContext().localNode().isClient() && node.isClient())
-                    getSpiContext().tryFailNode(node.id(), "Killing client");
+                //tryFailClient(node, e);
 
                 if (log.isDebugEnabled())
                     log.debug(
@@ -2100,10 +2099,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     }
                 }
                 catch (Exception e) {
-                    if (X.hasCause(e, HandshakeFailureException.class) && node.isClient() &&
-                        !getSpiContext().isStopping())
-                        getSpiContext().tryFailNode(node.id(), "Killing client: " + e.getMessage());
-
                     if (client != null) {
                         client.forceClose();
 
@@ -2146,7 +2141,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
         if (client == null) {
             assert errs != null;
 
-            if (X.hasCause(errs, ConnectException.class))
+//            if (!tryFailClient(node, errs) && X.hasCause(errs, ConnectException.class))
+              if (X.hasCause(errs, ConnectException.class))
                 LT.warn(log, null, "Failed to connect to a remote node " +
                     "(make sure that destination node is alive and " +
                     "operating system firewall is disabled on local and remote hosts) " +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index bb8d52d..467acc6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -432,8 +432,10 @@ class ClientImpl extends TcpDiscoveryImpl {
             }
 
             if (addrs.isEmpty()) {
-                if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout)
+                if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout) {
+                    System.out.println("Client reconnect timeout: " + getLocalNodeId());
                     return null;
+                }
 
                 U.warn(log, "Failed to connect to any address from IP finder (will retry to join topology " +
                     "in 2000ms): " + addrs0);
@@ -595,11 +597,9 @@ class ClientImpl extends TcpDiscoveryImpl {
         NavigableSet<ClusterNode> allNodes = allVisibleNodes();
 
         if (!topHist.containsKey(topVer)) {
-            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
-                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
-                ", newVer=" + topVer +
-                ", locNode=" + locNode +
-                ", msg=" + msg;
+            if (!topHist.isEmpty() && topHist.lastKey() != topVer - 1)
+                log.warning("Missing particular topology version [lastVer=" + (topHist.isEmpty() ? null :
+                    topHist.lastKey()) + ", newVer=" + topVer + ", locNode=" + locNode + ", msg=" + msg);
 
             topHist.put(topVer, allNodes);
 
@@ -796,7 +796,7 @@ class ClientImpl extends TcpDiscoveryImpl {
                 catch (IOException e) {
                     msgWorker.addMessage(new SocketClosedMessage(sock));
 
-                    if (log.isDebugEnabled())
+                    //if (log.isDebugEnabled())
                         U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
                 }
                 finally {
@@ -1151,6 +1151,7 @@ class ClientImpl extends TcpDiscoveryImpl {
                         if (((SocketClosedMessage)msg).sock == currSock) {
                             currSock = null;
 
+                            System.out.println("Socket closed. Join latch: " + joinLatch.getCount() + ". Node: " + getLocalNodeId());
                             boolean join = joinLatch.getCount() > 0;
 
                             if (spi.getSpiContext().isStopping() || segmented) {
@@ -1165,6 +1166,7 @@ class ClientImpl extends TcpDiscoveryImpl {
                             else {
                                 assert reconnector == null;
 
+                                System.out.println("Starting reconnector: " + getLocalNodeId());
                                 final Reconnector reconnector = new Reconnector(join);
                                 this.reconnector = reconnector;
                                 reconnector.start();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/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 33abe55..cda026f 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
@@ -1710,8 +1710,6 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                     if (res != null && msg.verified())
                         res.add(prepare(msg, node.id()));
-                    else
-                        log.info("(1) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
                 }
 
                 if (log.isDebugEnabled()) {
@@ -1738,8 +1736,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                     }
                     else if (msg.verified())
                         cp.add(prepare(msg, node.id()));
-                    else
-                        log.info("(2) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
                 }
 
                 cp = !skip ? cp : null;
@@ -3769,9 +3765,19 @@ class ServerImpl extends TcpDiscoveryImpl {
                             if (clientNodeIds.contains(clientNode.id()))
                                 clientNode.aliveCheck(spi.maxMissedClientHbs);
                             else {
+                                if (!isLocalNodeCoordinator())
+                                    continue;
+
+                                if (clientNode.aliveCheck() == 0)
+                                    // Node can just became coordinator without receiving any client heartbeat.
+                                    clientNode.aliveCheck(spi.maxMissedClientHbs);
+
                                 int aliveCheck = clientNode.decrementAliveCheck();
 
-                                if (aliveCheck == 0 && isLocalNodeCoordinator()) {
+                                if (aliveCheck == 0) {
+                                    // Make aliveCheck negative
+                                    clientNode.decrementAliveCheck();
+
                                     processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
                                         clientNode.id(), clientNode.internalOrder()));
                                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 22f56c3..46844ba 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -427,6 +427,12 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
         this.aliveCheck = aliveCheck;
     }
 
+    public int aliveCheck() {
+        assert isClient();
+
+        return aliveCheck;
+    }
+
     /**
      * @return Client router node ID.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 61fe95d..4e5c68e 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -40,7 +40,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     private static final int GRID_CNT = 5;
 
     /** */
-    private static final int CLIENT_GRID_CNT = 5;
+    private static final int CLIENT_GRID_CNT = 1;
 
     /** */
     private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();


[15/18] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-890

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890


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

Branch: refs/heads/master
Commit: 10f3fad26fa97face0bb7f1c83047c9f8fd4e7bf
Parents: e402e98 a6d33b1
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed Jul 15 14:14:34 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed Jul 15 14:14:34 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/query/GridQueryProcessor.java    | 4 +++-
 .../IgniteCacheAtomicReplicatedNodeRestartSelfTest.java         | 5 +++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[08/18] incubator-ignite git commit: ignite-890: fixing

Posted by sb...@apache.org.
ignite-890: fixing


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

Branch: refs/heads/master
Commit: cddbed5c33c791650f719df4def07287b1092c2a
Parents: e25d5b1
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 16:50:06 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 16:50:06 2015 +0300

----------------------------------------------------------------------
 .../communication/tcp/TcpCommunicationSpi.java  | 27 +++++++++++++++++---
 .../ignite/spi/discovery/tcp/ClientImpl.java    |  8 +++++-
 .../messages/TcpDiscoveryNodeFailedMessage.java |  1 +
 .../tcp/TcpDiscoveryMultiThreadedTest.java      |  6 +++--
 .../testframework/junits/GridAbstractTest.java  |  3 ++-
 5 files changed, 37 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 4ca2995..f62cdd4 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1728,8 +1728,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
             GridCommunicationClient client = clients.get(nodeId);
 
             if (client == null) {
-                if (isNodeStopping())
-                    throw new IgniteSpiException("Node is stopping.");
+                //if (isNodeStopping())
+                //    throw new IgniteSpiException("Node is stopping.");
 
                 // Do not allow concurrent connects.
                 GridFutureAdapter<GridCommunicationClient> fut = new ConnectFuture();
@@ -1899,6 +1899,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                 }
             }
             catch (IgniteCheckedException | RuntimeException | Error e) {
+                if (!getSpiContext().localNode().isClient() && node.isClient())
+                    getSpiContext().tryFailNode(node.id(), "Killing client");
+
                 if (log.isDebugEnabled())
                     log.debug(
                         "Caught exception (will close client) [err=" + e.getMessage() + ", client=" + client + ']');
@@ -2097,6 +2100,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     }
                 }
                 catch (Exception e) {
+                    if (!getSpiContext().localNode().isClient() && node.isClient())
+                        getSpiContext().tryFailNode(node.id(), "Killing client");
+
                     if (client != null) {
                         client.forceClose();
 
@@ -2200,7 +2206,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     UUID rmtNodeId0 = U.bytesToUuid(buf.array(), 1);
 
                     if (!rmtNodeId.equals(rmtNodeId0))
-                        throw new IgniteCheckedException("Remote node ID is not as expected [expected=" + rmtNodeId +
+                        throw new HandshakeFailureException("Remote node ID is not as expected [expected=" + rmtNodeId +
                             ", rcvd=" + rmtNodeId0 + ']');
                     else if (log.isDebugEnabled())
                         log.debug("Received remote node ID: " + rmtNodeId0);
@@ -2242,7 +2248,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                             int read = ch.read(buf);
 
                             if (read == -1)
-                                throw new IgniteCheckedException("Failed to read remote node recovery handshake " +
+                                throw new HandshakeFailureException("Failed to read remote node recovery handshake " +
                                     "(connection closed).");
 
                             i += read;
@@ -2421,6 +2427,19 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
         }
     }
 
+    /** Internal exception class for handshake failure handling. */
+    private static class HandshakeFailureException extends IgniteCheckedException {
+        /** */
+        private static final long serialVersionUID = 0L;
+
+        /**
+         * @param msg Message.
+         */
+        HandshakeFailureException(String msg) {
+            super(msg);
+        }
+    }
+
     /**
      * This worker takes responsibility to shut the server down when stopping,
      * No other thread shall stop passed server.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index d138a6a..bb8d52d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -1134,14 +1134,18 @@ class ClientImpl extends TcpDiscoveryImpl {
                         assert spi.getSpiContext().isStopping();
 
                         if (currSock != null) {
+                            System.out.println("Sending node left msg: " + getLocalNodeId());
+
                             TcpDiscoveryAbstractMessage leftMsg = new TcpDiscoveryNodeLeftMessage(getLocalNodeId());
 
                             leftMsg.client(true);
 
                             sockWriter.sendMessage(leftMsg);
                         }
-                        else
+                        else {
+                            System.out.println("No connection on leave: " + getLocalNodeId());
                             leaveLatch.countDown();
+                        }
                     }
                     else if (msg instanceof SocketClosedMessage) {
                         if (((SocketClosedMessage)msg).sock == currSock) {
@@ -1174,6 +1178,8 @@ class ClientImpl extends TcpDiscoveryImpl {
                             reconnector.cancel();
                             reconnector.join();
 
+                            System.out.println("RECONNECT FAILED: sending segmentation error: " + locNode);
+
                             notifyDiscovery(EVT_NODE_SEGMENTED, topVer, locNode, allVisibleNodes());
                         }
                     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
index 93ecdaa..cd85bfd 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
@@ -51,6 +51,7 @@ public class TcpDiscoveryNodeFailedMessage extends TcpDiscoveryAbstractMessage {
     public TcpDiscoveryNodeFailedMessage(UUID creatorNodeId, UUID failedNodeId, long order) {
         super(creatorNodeId);
 
+        U.dumpStack("Failed = " + failedNodeId + ", creator=" + creatorNodeId);
         assert failedNodeId != null;
         assert order > 0;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index cd07341..169a8b5 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -185,7 +185,8 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
                     int idx = clientIdx.getAndIncrement();
 
                     while (!done.get()) {
-                        assertTrue(stopGrid(idx, true));
+                        stopGrid(idx);
+                        //assertTrue(stopGrid(idx, true));
                         startGrid(idx);
                     }
 
@@ -208,7 +209,8 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
                     while (!done.get()) {
                         int idx = srvIdx.take();
 
-                        assertTrue(stopGrid(idx, true));
+                        stopGrid(idx);
+                        //assertTrue(stopGrid(idx, true));
                         startGrid(idx);
 
                         srvIdx.add(idx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/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 29d204e..f7ec124 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
@@ -1032,7 +1032,8 @@ public abstract class GridAbstractTest extends TestCase {
 
             assert ignite != null : "Ignite returned null grid for name: " + gridName;
 
-            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
+            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() +
+                ", isClient=" + ignite.configuration().isClientMode() + ']');
 
             res = G.stop(gridName, cancel);
         }


[02/18] incubator-ignite git commit: ignite-890: filtering out non verified messages for client

Posted by sb...@apache.org.
ignite-890: filtering out non verified messages for client


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

Branch: refs/heads/master
Commit: c4f933fa69f63886a199242957c3a86c254344e3
Parents: a1ed65b
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 16:55:38 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 16:55:38 2015 +0300

----------------------------------------------------------------------
 .../ignite/spi/discovery/tcp/ClientImpl.java    | 10 +--
 .../ignite/spi/discovery/tcp/ServerImpl.java    | 22 ++++++-
 .../spi/discovery/tcp/TcpDiscoveryImpl.java     | 16 ++---
 .../spi/discovery/tcp/TcpDiscoverySpi.java      | 10 +--
 .../tcp/TcpDiscoveryMultiThreadedTest.java      | 69 +++++++++++++++++++-
 5 files changed, 105 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 75e44d2..68017a2 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -595,11 +595,11 @@ class ClientImpl extends TcpDiscoveryImpl {
         NavigableSet<ClusterNode> allNodes = allVisibleNodes();
 
         if (!topHist.containsKey(topVer)) {
-            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
-                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
-                ", newVer=" + topVer +
-                ", locNode=" + locNode +
-                ", msg=" + msg;
+//            assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+//                "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+//                ", newVer=" + topVer +
+//                ", locNode=" + locNode +
+//                ", msg=" + msg;
 
             topHist.put(topVer, allNodes);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/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 5faa437..e398885 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
@@ -57,7 +57,7 @@ import static org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryStatusChe
 @SuppressWarnings("NonPrivateFieldAccessedInSynchronizedContext")
 class ServerImpl extends TcpDiscoveryImpl {
     /** */
-    private final Executor utilityPool = new ThreadPoolExecutor(0, 1, 2000, TimeUnit.MILLISECONDS,
+    private final ThreadPoolExecutor utilityPool = new ThreadPoolExecutor(0, 1, 2000, TimeUnit.MILLISECONDS,
         new LinkedBlockingQueue<Runnable>());
 
     /** Nodes ring. */
@@ -331,6 +331,15 @@ class ServerImpl extends TcpDiscoveryImpl {
         U.interrupt(msgWorker);
         U.join(msgWorker, log);
 
+        for (ClientMessageWorker clientWorker : clientMsgWorkers.values()) {
+            U.interrupt(clientWorker);
+            U.join(clientWorker, log);
+        }
+
+        clientMsgWorkers.clear();
+
+        utilityPool.shutdownNow();
+
         U.interrupt(statsPrinter);
         U.join(statsPrinter, log);
 
@@ -1699,7 +1708,7 @@ class ServerImpl extends TcpDiscoveryImpl {
                             res = new ArrayList<>(msgs.size());
                     }
 
-                    if (res != null)
+                    if (res != null && msg.verified())
                         res.add(prepare(msg, node.id()));
                 }
 
@@ -1725,7 +1734,7 @@ class ServerImpl extends TcpDiscoveryImpl {
                         if (msg.id().equals(lastMsgId))
                             skip = false;
                     }
-                    else
+                    else if (msg.verified())
                         cp.add(prepare(msg, node.id()));
                 }
 
@@ -3894,6 +3903,13 @@ class ServerImpl extends TcpDiscoveryImpl {
         private void processClientPingRequest(final TcpDiscoveryClientPingRequest msg) {
             utilityPool.execute(new Runnable() {
                 @Override public void run() {
+                    if (spiState == DISCONNECTED) {
+                        if (log.isDebugEnabled())
+                            log.debug("Ignoring ping request, SPI is already disconnected: " + msg);
+
+                        return;
+                    }
+
                     boolean res = pingNode(msg.nodeToPing());
 
                     final ClientMessageWorker worker = clientMsgWorkers.get(msg.creatorNodeId());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index 9172afe..8fedce1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -95,14 +95,14 @@ abstract class TcpDiscoveryImpl {
     protected void debugLog(String msg) {
         assert debugMode;
 
-        String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
-            '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
-            "-" + locNode.internalOrder() + "] " +
-            msg;
-
-        debugLog.add(msg0);
-
-        int delta = debugLog.size() - debugMsgHist;
+//        String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
+//            '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
+//            "-" + locNode.internalOrder() + "] " +
+//            msg;
+//
+//        debugLog.add(msg0);
+//
+//        int delta = debugLog.size() - debugMsgHist;
 //
 //        for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
 //            debugLog.poll();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 650c22d..b84e6c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -1563,11 +1563,11 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
             impl = new ServerImpl(this);
         }
 
-        impl.setDebugMode(true);
-
-        synchronized (allSpis) {
-            allSpis.add(this);
-        }
+//        impl.setDebugMode(true);
+//
+//        synchronized (allSpis) {
+//            allSpis.add(this);
+//        }
 
         assertParameter(ipFinder != null, "ipFinder != null");
         assertParameter(hbFreq > 0, "heartbeatFreq > 0");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 1ae334b..87d9304 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -102,7 +102,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
      * @throws Exception If any error occurs.
      */
     public void testMultiThreaded() throws Exception {
-        execute();
+        execute2();
     }
 
     /**
@@ -164,6 +164,73 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     /**
      * @throws Exception If failed.
      */
+    private void execute2() throws Exception {
+        info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
+
+        startGridsMultiThreaded(GRID_CNT);
+
+        clientFlagGlobal = true;
+
+        startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
+
+        final AtomicBoolean done = new AtomicBoolean();
+
+        final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
+
+        IgniteInternalFuture<?> fut1 = multithreadedAsync(
+            new Callable<Object>() {
+                @Override public Object call() throws Exception {
+                    clientFlagPerThread.set(true);
+
+                    int idx = clientIdx.getAndIncrement();
+
+                    while (!done.get()) {
+                        stopGrid(idx);
+                        startGrid(idx);
+                    }
+
+                    return null;
+                }
+            },
+            1
+        );
+
+        final BlockingQueue<Integer> srvIdx = new LinkedBlockingQueue<>();
+
+        for (int i = 0; i < GRID_CNT; i++)
+            srvIdx.add(i);
+
+        IgniteInternalFuture<?> fut2 = multithreadedAsync(
+            new Callable<Object>() {
+                @Override public Object call() throws Exception {
+                    clientFlagPerThread.set(false);
+
+                    while (!done.get()) {
+                        int idx = srvIdx.take();
+
+                        stopGrid(idx);
+                        startGrid(idx);
+
+                        srvIdx.add(idx);
+                    }
+
+                    return null;
+                }
+            },
+            1
+        );
+
+        Thread.sleep(getTestTimeout() - 60 * 1000);
+
+        done.set(true);
+
+        fut1.get();
+        fut2.get();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     private void execute() throws Exception {
         info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
 


[06/18] incubator-ignite git commit: ignite-890: fixing

Posted by sb...@apache.org.
ignite-890: fixing


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

Branch: refs/heads/master
Commit: dce50db493421bad94679b2e067389c1a79afb14
Parents: b335500
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 13:06:36 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 13:06:36 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/spi/IgniteSpiAdapter.java     | 16 ++++++++++------
 .../org/apache/ignite/spi/IgniteSpiContext.java     |  6 ++++--
 .../apache/ignite/spi/discovery/tcp/ServerImpl.java | 12 ++++++++++--
 .../tcp/TcpDiscoveryMultiThreadedTest.java          |  4 ++--
 4 files changed, 26 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index 5e557bd..df043dd 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -545,17 +545,19 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
 
     /**
      * @param obj Timeout object.
+     * @throws IgniteSpiException Thrown in case of any error.
      * @see IgniteSpiContext#addTimeoutObject(IgniteSpiTimeoutObject)
      */
-    protected void addTimeoutObject(IgniteSpiTimeoutObject obj) {
+    protected void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
         spiCtx.addTimeoutObject(obj);
     }
 
     /**
      * @param obj Timeout object.
+     * @throws IgniteSpiException Thrown in case of any error.
      * @see IgniteSpiContext#removeTimeoutObject(IgniteSpiTimeoutObject)
      */
-    protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
+    protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
         spiCtx.removeTimeoutObject(obj);
     }
 
@@ -764,15 +766,17 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
         }
 
         /** {@inheritDoc} */
-        @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) {
-            assert ignite instanceof IgniteKernal : ignite;
+        @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+            if (!(ignite instanceof IgniteKernal))
+                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
 
             ((IgniteKernal)ignite).context().timeout().addTimeoutObject(new GridSpiTimeoutObject(obj));
         }
 
         /** {@inheritDoc} */
-        @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
-            assert ignite instanceof IgniteKernal : ignite;
+        @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+            if (!(ignite instanceof IgniteKernal))
+                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
 
             ((IgniteKernal)ignite).context().timeout().removeTimeoutObject(new GridSpiTimeoutObject(obj));
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 611702b..addf63f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -320,11 +320,13 @@ public interface IgniteSpiContext {
 
     /**
      * @param c Timeout object.
+     * @throws IgniteSpiException Thrown if any exception occurs.
      */
-    public void addTimeoutObject(IgniteSpiTimeoutObject c);
+    public void addTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
 
     /**
      * @param c Timeout object.
+     * @throws IgniteSpiException Thrown if any exception occurs.
      */
-    public void removeTimeoutObject(IgniteSpiTimeoutObject c);
+    public void removeTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/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 4d4b2a7..ff33efa 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
@@ -3879,8 +3879,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                         return;
                     }
 
-                    boolean res = pingNode(msg.nodeToPing());
-
                     final ClientMessageWorker worker = clientMsgWorkers.get(msg.creatorNodeId());
 
                     if (worker == null) {
@@ -3888,6 +3886,16 @@ class ServerImpl extends TcpDiscoveryImpl {
                             log.debug("Ping request from dead client node, will be skipped: " + msg.creatorNodeId());
                     }
                     else {
+                        boolean res;
+
+                        try {
+                            res = pingNode(msg.nodeToPing());
+                        } catch (IgniteSpiException e) {
+                            log.error("Failed to ping node [nodeToPing=" + msg.nodeToPing() + ']', e);
+
+                            res = false;
+                        }
+
                         TcpDiscoveryClientPingResponse pingRes = new TcpDiscoveryClientPingResponse(
                             getLocalNodeId(), msg.nodeToPing(), res);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 2aca2fb..b291b9c 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
  */
 public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     /** */
-    private static final int GRID_CNT = 5;
+    private static final int GRID_CNT = 3;
 
     /** */
-    private static final int CLIENT_GRID_CNT = 5;
+    private static final int CLIENT_GRID_CNT = 2;
 
     /** */
     private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();


[12/18] incubator-ignite git commit: ignite-890: fixed

Posted by sb...@apache.org.
ignite-890: fixed


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

Branch: refs/heads/master
Commit: baeb924e05d928df067493bf63c492c5ffda6f21
Parents: da5d7e5
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 15:46:15 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 15:46:15 2015 +0300

----------------------------------------------------------------------
 .../discovery/GridDiscoveryManager.java         |   4 +-
 .../communication/tcp/TcpCommunicationSpi.java  |  22 +--
 .../ignite/spi/discovery/tcp/ClientImpl.java    |  19 +--
 .../ignite/spi/discovery/tcp/ServerImpl.java    |  62 ++------
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |   8 --
 .../tcp/internal/TcpDiscoveryNode.java          |   6 -
 .../messages/TcpDiscoveryNodeFailedMessage.java |   1 -
 .../tcp/TcpDiscoveryMultiThreadedTest.java      | 142 ++++++++++++-------
 .../testframework/junits/GridAbstractTest.java  |  13 +-
 9 files changed, 114 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/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 80f7f98..eae07ed 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
@@ -1589,7 +1589,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
             new Runnable() {
                 @Override public void run() {
                     ctx.markSegmented();
-                    System.out.println("Stopping grid on segmentation: " + ctx.gridName());
+
                     G.stop(ctx.gridName(), true);
                 }
             }
@@ -1896,7 +1896,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
                     segmented = true;
 
                     if (!isLocDaemon)
-                        U.warn(log, "Local node SEGMENTED: " + node + ", remote_nodes = " + getSpi().getRemoteNodes());
+                        U.warn(log, "Local node SEGMENTED: " + node);
                     else if (log.isDebugEnabled())
                         log.debug("Local node SEGMENTED: " + node);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 423f4ef..df7d098 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1899,8 +1899,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                 }
             }
             catch (IgniteCheckedException | RuntimeException | Error e) {
-                //tryFailClient(node, e);
-
                 if (log.isDebugEnabled())
                     log.debug(
                         "Caught exception (will close client) [err=" + e.getMessage() + ", client=" + client + ']');
@@ -2141,8 +2139,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
         if (client == null) {
             assert errs != null;
 
-//            if (!tryFailClient(node, errs) && X.hasCause(errs, ConnectException.class))
-              if (X.hasCause(errs, ConnectException.class))
+            if (X.hasCause(errs, ConnectException.class))
                 LT.warn(log, null, "Failed to connect to a remote node " +
                     "(make sure that destination node is alive and " +
                     "operating system firewall is disabled on local and remote hosts) " +
@@ -2203,7 +2200,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     UUID rmtNodeId0 = U.bytesToUuid(buf.array(), 1);
 
                     if (!rmtNodeId.equals(rmtNodeId0))
-                        throw new HandshakeFailureException("Remote node ID is not as expected [expected=" + rmtNodeId +
+                        throw new IgniteCheckedException("Remote node ID is not as expected [expected=" + rmtNodeId +
                             ", rcvd=" + rmtNodeId0 + ']');
                     else if (log.isDebugEnabled())
                         log.debug("Received remote node ID: " + rmtNodeId0);
@@ -2245,7 +2242,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                             int read = ch.read(buf);
 
                             if (read == -1)
-                                throw new HandshakeFailureException("Failed to read remote node recovery handshake " +
+                                throw new IgniteCheckedException("Failed to read remote node recovery handshake " +
                                     "(connection closed).");
 
                             i += read;
@@ -2424,19 +2421,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
         }
     }
 
-    /** Internal exception class for handshake failure handling. */
-    private static class HandshakeFailureException extends IgniteCheckedException {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /**
-         * @param msg Message.
-         */
-        HandshakeFailureException(String msg) {
-            super(msg);
-        }
-    }
-
     /**
      * This worker takes responsibility to shut the server down when stopping,
      * No other thread shall stop passed server.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 467acc6..838b89a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -129,8 +129,7 @@ class ClientImpl extends TcpDiscoveryImpl {
 
         b.append("Stats: ").append(spi.stats).append(U.nl());
 
-        System.out.println(b.toString());
-//        U.quietAndInfo(log, b.toString());
+        U.quietAndInfo(log, b.toString());
     }
 
     /** {@inheritDoc} */
@@ -432,10 +431,8 @@ class ClientImpl extends TcpDiscoveryImpl {
             }
 
             if (addrs.isEmpty()) {
-                if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout) {
-                    System.out.println("Client reconnect timeout: " + getLocalNodeId());
+                if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout)
                     return null;
-                }
 
                 U.warn(log, "Failed to connect to any address from IP finder (will retry to join topology " +
                     "in 2000ms): " + addrs0);
@@ -796,7 +793,7 @@ class ClientImpl extends TcpDiscoveryImpl {
                 catch (IOException e) {
                     msgWorker.addMessage(new SocketClosedMessage(sock));
 
-                    //if (log.isDebugEnabled())
+                    if (log.isDebugEnabled())
                         U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
                 }
                 finally {
@@ -1134,24 +1131,19 @@ class ClientImpl extends TcpDiscoveryImpl {
                         assert spi.getSpiContext().isStopping();
 
                         if (currSock != null) {
-                            System.out.println("Sending node left msg: " + getLocalNodeId());
-
                             TcpDiscoveryAbstractMessage leftMsg = new TcpDiscoveryNodeLeftMessage(getLocalNodeId());
 
                             leftMsg.client(true);
 
                             sockWriter.sendMessage(leftMsg);
                         }
-                        else {
-                            System.out.println("No connection on leave: " + getLocalNodeId());
+                        else
                             leaveLatch.countDown();
-                        }
                     }
                     else if (msg instanceof SocketClosedMessage) {
                         if (((SocketClosedMessage)msg).sock == currSock) {
                             currSock = null;
 
-                            System.out.println("Socket closed. Join latch: " + joinLatch.getCount() + ". Node: " + getLocalNodeId());
                             boolean join = joinLatch.getCount() > 0;
 
                             if (spi.getSpiContext().isStopping() || segmented) {
@@ -1166,7 +1158,6 @@ class ClientImpl extends TcpDiscoveryImpl {
                             else {
                                 assert reconnector == null;
 
-                                System.out.println("Starting reconnector: " + getLocalNodeId());
                                 final Reconnector reconnector = new Reconnector(join);
                                 this.reconnector = reconnector;
                                 reconnector.start();
@@ -1180,8 +1171,6 @@ class ClientImpl extends TcpDiscoveryImpl {
                             reconnector.cancel();
                             reconnector.join();
 
-                            System.out.println("RECONNECT FAILED: sending segmentation error: " + locNode);
-
                             notifyDiscovery(EVT_NODE_SEGMENTED, topVer, locNode, allVisibleNodes());
                         }
                     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/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 cda026f..bca2d98 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
@@ -1335,7 +1335,7 @@ class ServerImpl extends TcpDiscoveryImpl {
             return;
         }
 
-        //assert log.isInfoEnabled();
+        assert log.isInfoEnabled();
 
         synchronized (mux) {
             StringBuilder b = new StringBuilder(U.nl());
@@ -1388,8 +1388,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
             b.append("Stats: ").append(spi.stats).append(U.nl());
 
-            System.out.println(b.toString());
-            //U.quietAndInfo(log, b.toString());
+            U.quietAndInfo(log, b.toString());
         }
     }
 
@@ -1830,8 +1829,6 @@ class ServerImpl extends TcpDiscoveryImpl {
         }
     }
 
-    private static volatile boolean dumping;
-
     /**
      * Message worker thread for messages processing.
      */
@@ -2228,8 +2225,7 @@ class ServerImpl extends TcpDiscoveryImpl {
                                         ", next=" + next.id() +
                                         ", res=" + res + ']');
 
-                                if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
-                                    && !(msg instanceof  TcpDiscoveryCustomEventMessage))
+                                if (debugMode)
                                     debugLog("Message has been sent to next node [msg=" + msg +
                                         ", next=" + next.id() +
                                         ", res=" + res + ']');
@@ -2817,48 +2813,28 @@ class ServerImpl extends TcpDiscoveryImpl {
                         if (log.isDebugEnabled())
                             log.debug("Accept client reconnect, restored pending messages " +
                                 "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
-                        if (debugMode)
-                            debugLog("Accept client reconnect, restored pending messages " +
-                                         "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
                     }
                     else {
                         if (log.isDebugEnabled())
                             log.debug("Failing reconnecting client node because failed to restore pending " +
                                 "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
 
-                        if (debugMode)
-                            debugLog("Failing reconnecting client node because failed to restore pending " +
-                                         "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
                         processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
                             node.id(), node.internalOrder()));
                     }
                 }
             }
-            else {
-                if (log.isDebugEnabled())
-                    log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
-
-                if (debugMode)
-                    debugLog("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
-            }
+            else if (log.isDebugEnabled())
+                log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
 
             if (isLocNodeRouter) {
                 ClientMessageWorker wrk = clientMsgWorkers.get(nodeId);
 
                 if (wrk != null)
                     wrk.addMessage(msg);
-                else {
-                    if (log.isDebugEnabled())
-                        log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
-                                      locNodeId + ", clientNodeId=" + nodeId + ']');
-
-                    if (debugMode)
-                        debugLog("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
-                                      locNodeId + ", clientNodeId=" + nodeId + ']');
-                }
+                else if (log.isDebugEnabled())
+                    log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+                        locNodeId + ", clientNodeId=" + nodeId + ']');
             }
             else {
                 if (ring.hasRemoteNodes())
@@ -3252,9 +3228,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                         if (log.isDebugEnabled())
                             log.debug("Starting local node stop procedure.");
 
-                        if (debugMode)
-                            debugLog("Starting local node stop procedure.");
-
                         spiState = STOPPING;
 
                         mux.notifyAll();
@@ -3262,9 +3235,6 @@ class ServerImpl extends TcpDiscoveryImpl {
                 }
 
                 if (msg.verified() || !ring.hasRemoteNodes() || msg.senderNodeId() != null) {
-                    if (debugMode)
-                        debugLog("Do stop local node: [msg=" + msg + ", hasRemote=" + ring.hasRemoteNodes() + ']');
-
                     if (spi.ipFinder.isShared() && !ring.hasRemoteNodes()) {
                         try {
                             spi.ipFinder.unregisterAddresses(locNode.socketAddresses());
@@ -3765,22 +3735,11 @@ class ServerImpl extends TcpDiscoveryImpl {
                             if (clientNodeIds.contains(clientNode.id()))
                                 clientNode.aliveCheck(spi.maxMissedClientHbs);
                             else {
-                                if (!isLocalNodeCoordinator())
-                                    continue;
-
-                                if (clientNode.aliveCheck() == 0)
-                                    // Node can just became coordinator without receiving any client heartbeat.
-                                    clientNode.aliveCheck(spi.maxMissedClientHbs);
-
                                 int aliveCheck = clientNode.decrementAliveCheck();
 
-                                if (aliveCheck == 0) {
-                                    // Make aliveCheck negative
-                                    clientNode.decrementAliveCheck();
-
+                                if (aliveCheck <= 0 && isLocalNodeCoordinator() && !failedNodes.contains(clientNode))
                                     processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
                                         clientNode.id(), clientNode.internalOrder()));
-                                }
                             }
                         }
                     }
@@ -4354,8 +4313,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
                         spi.stats.onMessageReceived(msg);
 
-                        if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
-                            && !(msg instanceof  TcpDiscoveryCustomEventMessage) && recordable(msg))
+                        if (debugMode && recordable(msg))
                             debugLog("Message has been received: " + msg);
 
                         if (msg instanceof TcpDiscoveryJoinRequestMessage) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index b84e6c8..7663fe6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -327,8 +327,6 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
     /** */
     private boolean forceSrvMode;
 
-    public static volatile ArrayList<TcpDiscoverySpi> allSpis = new ArrayList<>();
-
     /** {@inheritDoc} */
     @Override public String getSpiState() {
         return impl.getSpiState();
@@ -1563,12 +1561,6 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
             impl = new ServerImpl(this);
         }
 
-//        impl.setDebugMode(true);
-//
-//        synchronized (allSpis) {
-//            allSpis.add(this);
-//        }
-
         assertParameter(ipFinder != null, "ipFinder != null");
         assertParameter(hbFreq > 0, "heartbeatFreq > 0");
         assertParameter(netTimeout > 0, "networkTimeout > 0");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 46844ba..22f56c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -427,12 +427,6 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
         this.aliveCheck = aliveCheck;
     }
 
-    public int aliveCheck() {
-        assert isClient();
-
-        return aliveCheck;
-    }
-
     /**
      * @return Client router node ID.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
index cd85bfd..93ecdaa 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
@@ -51,7 +51,6 @@ public class TcpDiscoveryNodeFailedMessage extends TcpDiscoveryAbstractMessage {
     public TcpDiscoveryNodeFailedMessage(UUID creatorNodeId, UUID failedNodeId, long order) {
         super(creatorNodeId);
 
-        U.dumpStack("Failed = " + failedNodeId + ", creator=" + creatorNodeId);
         assert failedNodeId != null;
         assert order > 0;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 4e5c68e..fa70828 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -40,7 +40,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
     private static final int GRID_CNT = 5;
 
     /** */
-    private static final int CLIENT_GRID_CNT = 1;
+    private static final int CLIENT_GRID_CNT = 5;
 
     /** */
     private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -95,78 +95,60 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected long getTestTimeout() {
-        return 2 * 60 * 1000;
+        return 3 * 60 * 1000;
     }
 
     /**
      * @throws Exception If any error occurs.
      */
-    public void testMultiThreaded() throws Exception {
-        //fail("https://issues.apache.org/jira/browse/IGNITE-1100");
+    public void testMultiThreadedClientsRestart() throws Exception {
+        clientFlagGlobal = false;
 
-        execute();
-    }
+        info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
 
-    /**
-     * @throws Exception If any error occurs.
-     */
-    public void testTopologyVersion() throws Exception {
         startGridsMultiThreaded(GRID_CNT);
 
-        long prev = 0;
-
-        for (Ignite g : G.allGrids()) {
-            IgniteKernal kernal = (IgniteKernal)g;
-
-            long ver = kernal.context().discovery().topologyVersion();
-
-            info("Top ver: " + ver);
-
-            if (prev == 0)
-                prev = ver;
-        }
-
-        info("Test finished.");
-    }
-
-    /**
-     * @throws Exception If any error occurs.
-     */
-    public void testMultipleStartOnCoordinatorStop() throws Exception{
-        startGrids(GRID_CNT);
-
-        final CyclicBarrier barrier = new CyclicBarrier(GRID_CNT + 4);
+        clientFlagGlobal = true;
 
-        final AtomicInteger startIdx = new AtomicInteger(GRID_CNT);
+        startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
 
-        IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                barrier.await();
+        final AtomicBoolean done = new AtomicBoolean();
 
-                Ignite ignite = startGrid(startIdx.getAndIncrement());
+        final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
 
-                assertFalse(ignite.configuration().isClientMode());
+        IgniteInternalFuture<?> fut1 = multithreadedAsync(
+            new Callable<Object>() {
+                @Override public Object call() throws Exception {
+                    clientFlagPerThread.set(true);
 
-                log.info("Started node: " + ignite.name());
+                    int idx = clientIdx.getAndIncrement();
 
-                return null;
-            }
-        }, GRID_CNT + 3, "start-thread");
+                    while (!done.get()) {
+                        stopGrid(idx);
+                        startGrid(idx);
+                    }
 
-        barrier.await();
+                    return null;
+                }
+            },
+            CLIENT_GRID_CNT
+        );
 
-        U.sleep(ThreadLocalRandom.current().nextInt(10, 100));
+        Thread.sleep(getTestTimeout() - 60 * 1000);
 
-        for (int i = 0; i < GRID_CNT; i++)
-            stopGrid(i);
+        done.set(true);
 
-        fut.get();
+        fut1.get();
     }
 
     /**
-     * @throws Exception If failed.
+     * @throws Exception If any error occurs.
      */
-    private void execute() throws Exception {
+    public void testMultiThreadedClientsServersRestart() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-1123");
+        
+        clientFlagGlobal = false;
+
         info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
 
         startGridsMultiThreaded(GRID_CNT);
@@ -229,4 +211,64 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
         fut1.get();
         fut2.get();
     }
+
+    /**
+     * @throws Exception If any error occurs.
+     */
+    public void testTopologyVersion() throws Exception {
+        clientFlagGlobal = false;
+
+        startGridsMultiThreaded(GRID_CNT);
+
+        long prev = 0;
+
+        for (Ignite g : G.allGrids()) {
+            IgniteKernal kernal = (IgniteKernal)g;
+
+            long ver = kernal.context().discovery().topologyVersion();
+
+            info("Top ver: " + ver);
+
+            if (prev == 0)
+                prev = ver;
+        }
+
+        info("Test finished.");
+    }
+
+    /**
+     * @throws Exception If any error occurs.
+     */
+    public void testMultipleStartOnCoordinatorStop() throws Exception{
+        clientFlagGlobal = false;
+
+        startGrids(GRID_CNT);
+
+        final CyclicBarrier barrier = new CyclicBarrier(GRID_CNT + 4);
+
+        final AtomicInteger startIdx = new AtomicInteger(GRID_CNT);
+
+        IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+            @Override public Object call() throws Exception {
+                barrier.await();
+
+                Ignite ignite = startGrid(startIdx.getAndIncrement());
+
+                assertFalse(ignite.configuration().isClientMode());
+
+                log.info("Started node: " + ignite.name());
+
+                return null;
+            }
+        }, GRID_CNT + 3, "start-thread");
+
+        barrier.await();
+
+        U.sleep(ThreadLocalRandom.current().nextInt(10, 100));
+
+        for (int i = 0; i < GRID_CNT; i++)
+            stopGrid(i);
+
+        fut.get();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/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 f7ec124..06a1523 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
@@ -1022,33 +1022,26 @@ public abstract class GridAbstractTest extends TestCase {
      * @param cancel Cancel flag.
      */
     @SuppressWarnings("deprecation")
-    protected boolean stopGrid(int idx, boolean cancel) {
+    protected void stopGrid(int idx, boolean cancel) {
         String gridName = getTestGridName(idx);
 
-        boolean res;
-
         try {
             Ignite ignite = G.ignite(gridName);
 
             assert ignite != null : "Ignite returned null grid for name: " + gridName;
 
-            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() +
-                ", isClient=" + ignite.configuration().isClientMode() + ']');
+            info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
 
-            res = G.stop(gridName, cancel);
+            G.stop(gridName, cancel);
         }
         catch (IllegalStateException ignored) {
             // Ignore error if grid already stopped.
-            res = true;
         }
         catch (Throwable e) {
             error("Failed to stop grid [gridName=" + gridName + ", cancel=" + cancel + ']', e);
 
             stopGridErr = true;
-            res = false;
         }
-
-        return res;
     }
 
     /**


[17/18] incubator-ignite git commit: ignite-890: fixes after the review

Posted by sb...@apache.org.
ignite-890: fixes after the review


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

Branch: refs/heads/master
Commit: 5c5581290aba6d2958aa410d1f126f77facc626c
Parents: b601a62
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 16 09:01:45 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 16 09:01:45 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/spi/IgniteSpiAdapter.java | 26 +++++++++++---------
 .../org/apache/ignite/spi/IgniteSpiContext.java |  6 ++---
 .../communication/tcp/TcpCommunicationSpi.java  |  2 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java    |  2 +-
 4 files changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5c558129/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index df043dd..9bdf495 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -545,19 +545,17 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
 
     /**
      * @param obj Timeout object.
-     * @throws IgniteSpiException Thrown in case of any error.
      * @see IgniteSpiContext#addTimeoutObject(IgniteSpiTimeoutObject)
      */
-    protected void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+    protected void addTimeoutObject(IgniteSpiTimeoutObject obj) {
         spiCtx.addTimeoutObject(obj);
     }
 
     /**
      * @param obj Timeout object.
-     * @throws IgniteSpiException Thrown in case of any error.
      * @see IgniteSpiContext#removeTimeoutObject(IgniteSpiTimeoutObject)
      */
-    protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+    protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
         spiCtx.removeTimeoutObject(obj);
     }
 
@@ -766,19 +764,23 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
         }
 
         /** {@inheritDoc} */
-        @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
-            if (!(ignite instanceof IgniteKernal))
-                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
+        @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) {
+            Ignite ignite0 = ignite;
 
-            ((IgniteKernal)ignite).context().timeout().addTimeoutObject(new GridSpiTimeoutObject(obj));
+            if (!(ignite0 instanceof IgniteKernal))
+                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite0);
+
+            ((IgniteKernal)ignite0).context().timeout().addTimeoutObject(new GridSpiTimeoutObject(obj));
         }
 
         /** {@inheritDoc} */
-        @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
-            if (!(ignite instanceof IgniteKernal))
-                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
+        @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
+            Ignite ignite0 = ignite;
+
+            if (!(ignite0 instanceof IgniteKernal))
+                throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite0);
 
-            ((IgniteKernal)ignite).context().timeout().removeTimeoutObject(new GridSpiTimeoutObject(obj));
+            ((IgniteKernal)ignite0).context().timeout().removeTimeoutObject(new GridSpiTimeoutObject(obj));
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5c558129/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index addf63f..611702b 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -320,13 +320,11 @@ public interface IgniteSpiContext {
 
     /**
      * @param c Timeout object.
-     * @throws IgniteSpiException Thrown if any exception occurs.
      */
-    public void addTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
+    public void addTimeoutObject(IgniteSpiTimeoutObject c);
 
     /**
      * @param c Timeout object.
-     * @throws IgniteSpiException Thrown if any exception occurs.
      */
-    public void removeTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
+    public void removeTimeoutObject(IgniteSpiTimeoutObject c);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5c558129/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index df7d098..b79ca55 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -2063,7 +2063,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                         client = null;
                     }
 
-                    onException("Handshake timeout (will retry with increased timeout) [timeout=" + connTimeout0 +
+                    onException("Handshake timed out (will retry with increased timeout) [timeout=" + connTimeout0 +
                         ", addr=" + addr + ']', e);
 
                     if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5c558129/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 bca2d98..6587006 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
@@ -338,7 +338,7 @@ class ServerImpl extends TcpDiscoveryImpl {
 
         clientMsgWorkers.clear();
 
-        utilityPool.shutdownNow();
+        IgniteUtils.shutdownNow(ServerImpl.class, utilityPool, log);
 
         U.interrupt(statsPrinter);
         U.join(statsPrinter, log);