TCP communication skip local node loopback address
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cc87a621 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cc87a621 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cc87a621 Branch: refs/heads/ignite-2.1.5-p1 Commit: cc87a6215ed3d91948f6d0fa04b104a1e33a40be Parents: d9a2786 Author: Yakov Zhdanov <[email protected]> Authored: Fri Oct 13 20:41:56 2017 +0300 Committer: Yakov Zhdanov <[email protected]> Committed: Fri Oct 13 20:41:56 2017 +0300 ---------------------------------------------------------------------- .../spi/communication/tcp/TcpCommunicationSpi.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/cc87a621/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 1dd48d1..15faeb3 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 @@ -2987,6 +2987,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 + ']'); + Set<InetAddress> allInetAddrs = U.newHashSet(addrs.size()); for (InetSocketAddress addr : addrs) { @@ -3015,7 +3019,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 + ']'); boolean conn = false; GridCommunicationClient client = null; @@ -3024,6 +3028,15 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati int connectAttempts = 1; for (InetSocketAddress addr : addrs) { + 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; + } + long connTimeout0 = connTimeout; int attempt = 1;
