IGNITE-709 Bug fix: don't create timeout timer task twice on ping.

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

Branch: refs/heads/ignite-836_2
Commit: ebc1a9832ccdba544ab7773e6aef0c5ba1531394
Parents: 05f1488
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Wed May 13 18:41:50 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Wed May 13 18:41:50 2015 +0300

----------------------------------------------------------------------
 .../spi/discovery/tcp/TcpClientDiscoverySpi.java  | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ebc1a983/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 29afb58..3c46515 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -392,18 +392,18 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                     return false;
                 }
 
-                sockWriter.sendMessage(new 
TcpDiscoveryClientPingRequest(getLocalNodeId(), nodeId));
-            }
-        }
+                final GridFutureAdapter<Boolean> finalFut = fut;
 
-        final GridFutureAdapter<Boolean> finalFut = fut;
+                timer.schedule(new TimerTask() {
+                    @Override public void run() {
+                        if (pingFuts.remove(nodeId, finalFut))
+                            finalFut.onDone(false);
+                    }
+                }, netTimeout);
 
-        timer.schedule(new TimerTask() {
-            @Override public void run() {
-                if (pingFuts.remove(nodeId, finalFut))
-                    finalFut.onDone(false);
+                sockWriter.sendMessage(new 
TcpDiscoveryClientPingRequest(getLocalNodeId(), nodeId));
             }
-        }, netTimeout);
+        }
 
         try {
             return fut.get();

Reply via email to