You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2020/04/08 07:20:00 UTC

[jira] [Created] (IGNITE-12873) Hosts names resolution takes place even if all nodes are configured via ip addresses

Kirill Tkalenko created IGNITE-12873:
----------------------------------------

             Summary: 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
             Fix For: 2.9


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)