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 2017/10/26 09:03:28 UTC

[07/12] ignite git commit: IGNITE-6639 TCP communication skip local node loopback address. This closes #2909.

IGNITE-6639 TCP communication skip local node loopback address. This closes #2909.

Signed-off-by: nikolay_tikhonov <nt...@gridgain.com>


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

Branch: refs/heads/ignite-3478
Commit: 6ed872b4e49c2c767dad975aa9613fc881726027
Parents: bbf4853
Author: mcherkasov <mc...@gridgain.com>
Authored: Wed Oct 25 18:44:53 2017 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Wed Oct 25 18:44:53 2017 +0300

----------------------------------------------------------------------
 .../spi/communication/tcp/TcpCommunicationSpi.java    | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/6ed872b4/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 a0ee389..065609f 100755
--- 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
@@ -3012,6 +3012,10 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati
         if (isExtAddrsExist)
             addrs.addAll(extAddrs);
 
+        if (log.isDebugEnabled())
+            log.debug("Addresses resolved from attributes [rmtNode=" + node.id() + ", addrs=" + addrs +
+                ", isRmtAddrsExist=" + isRmtAddrsExist + ']');
+
         if (filterReachableAddresses) {
             Set<InetAddress> allInetAddrs = U.newHashSet(addrs.size());
 
@@ -3041,7 +3045,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati
             }
 
             if (log.isDebugEnabled())
-                log.debug("Addresses to connect for node [rmtNode=" + node.id() + ", addrs=" + addrs.toString() + ']');
+                log.debug("Addresses to connect for node [rmtNode=" + node.id() + ", addrs=" + addrs + ']');
         }
 
         return addrs;
@@ -3074,6 +3078,14 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati
             int lastWaitingTimeout = 1;
 
             while (client == null) { // Reconnection on handshake timeout.
+                if (addr.getAddress().isLoopbackAddress() && addr.getPort() == boundTcpPort) {
+                    if (log.isDebugEnabled())
+                        log.debug("Skipping local address [addr=" + addr +
+                            ", locAddrs=" + node.attribute(createSpiAttributeName(ATTR_ADDRS)) +
+                            ", node=" + node + ']');
+                    continue;
+                }
+
                 boolean needWait = false;
 
                 try {