[ https://issues.apache.org/jira/browse/IGNITE-12873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17083377#comment-17083377 ]
Alexey Goncharuk commented on IGNITE-12873: ------------------------------------------- [~ktkale...@gridgain.com] I think that we need to handle the IP address {{0.0.0.0}} and any loopback IP specifically and still send the hostname if this particular IP is specified. Otherwise, other nodes will try to always connect to the local host, not to a remote node. > Hosts names resolution takes place even if all nodes are configured via ip > addresses > ------------------------------------------------------------------------------------ > > Key: IGNITE-12873 > URL: https://issues.apache.org/jira/browse/IGNITE-12873 > Project: Ignite > Issue Type: Improvement > Reporter: Kirill Tkalenko > Assignee: Kirill Tkalenko > Priority: Major > Fix For: 2.9 > > Time Spent: 10m > Remaining Estimate: 0h > > We got a problem: When connection with DNS was lost transactions processing > hanged up. This happened because IgniteUtils.toSocketAddresses resolves > hostName even if all nodes are configured via ip-addresses. > {code:java} > Thread [name=""utility-#432631%GRID%GridNodeName%"", id=992176, > state=RUNNABLE, blockCnt=1, waitCnt=16] > at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929) > at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324) > at java.net.InetAddress.getAllByName0(InetAddress.java:1277) > at java.net.InetAddress.getAllByName(InetAddress.java:1193) > at java.net.InetAddress.getAllByName(InetAddress.java:1127) > at java.net.InetAddress.getByName(InetAddress.java:1077) > at java.net.InetSocketAddress.<init>(InetSocketAddress.java:220) > at o.a.i.i.util.IgniteUtils.toSocketAddresses(IgniteUtils.java:8982) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.nodeAddresses(TcpCommunicationSpi.java:3228) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.nodeAddresses(TcpCommunicationSpi.java:3200) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.createTcpClient(TcpCommunicationSpi.java:3291) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.createNioClient(TcpCommunicationSpi.java:3027) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.reserveClient(TcpCommunicationSpi.java:2907) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.sendMessage0(TcpCommunicationSpi.java:2750) > at > o.a.i.spi.communication.tcp.TcpCommunicationSpi.sendMessage(TcpCommunicationSpi.java:2709) > at o.a.i.i.managers.communication.GridIoManager.send(GridIoManager.java:1643) > at > o.a.i.i.managers.communication.GridIoManager.sendOrderedMessage(GridIoManager.java:1863) > at > o.a.i.i.processors.continuous.GridContinuousProcessor.sendWithRetries(GridContinuousProcessor.java:1873) > at > o.a.i.i.processors.continuous.GridContinuousProcessor.sendWithRetries(GridContinuousProcessor.java:1844) > at > o.a.i.i.processors.continuous.GridContinuousProcessor.sendWithRetries(GridContinuousProcessor.java:1826) > at > o.a.i.i.processors.continuous.GridContinuousProcessor.sendNotification(GridContinuousProcessor.java:1244) > at > o.a.i.i.processors.continuous.GridContinuousProcessor.addNotification(GridContinuousProcessor.java:1181) > at > o.a.i.i.processors.cache.query.continuous.CacheContinuousQueryHandler.onEntryUpdate(CacheContinuousQueryHandler.java:882) > at > o.a.i.i.processors.cache.query.continuous.CacheContinuousQueryHandler.access$600(CacheContinuousQueryHandler.java:85) > at > o.a.i.i.processors.cache.query.continuous.CacheContinuousQueryHandler$2.onEntryUpdated(CacheContinuousQueryHandler.java:429) > at > o.a.i.i.processors.cache.query.continuous.CacheContinuousQueryManager.onEntryUpdated(CacheContinuousQueryManager.java:400) > at > o.a.i.i.processors.cache.GridCacheMapEntry.innerSet(GridCacheMapEntry.java:1111) > at > o.a.i.i.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:659) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocalAdapter.localFinish(GridDhtTxLocalAdapter.java:796) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocal.localFinish(GridDhtTxLocal.java:603) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocal.finishTx(GridDhtTxLocal.java:475) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocal.commitDhtLocalAsync(GridDhtTxLocal.java:532) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.finishDhtLocal(IgniteTxHandler.java:1017) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.finish(IgniteTxHandler.java:896) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.processNearTxFinishRequest(IgniteTxHandler.java:852) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.access$200(IgniteTxHandler.java:102) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler$3.apply(IgniteTxHandler.java:196) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler$3.apply(IgniteTxHandler.java:194) > at > o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1077) > at > o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:587) > at > o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:386) > at > o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:312) > at > o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:102) > at > o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:301) > at > o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) > at > o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184) > at > o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:125) > at > o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1091) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > {code} > Solution: > - Do not save hostname in node attributes, If localHost IP is set in the > configuration > - Add JVM option for enabling "old" behaviour. -- This message was sent by Atlassian Jira (v8.3.4#803005)