Christopher Tenter created IGNITE-18781:
-------------------------------------------
Summary: Strange outgoing ports used - Failed to process selector
key
Key: IGNITE-18781
URL: https://issues.apache.org/jira/browse/IGNITE-18781
Project: Ignite
Issue Type: Bug
Components: networking
Affects Versions: 2.14
Reporter: Christopher Tenter
Attachments: ignitelog.txt
A two-node cluster occasionally cannot communicate when ignite uses a strange
local or remote port. We've opened all ports that are documented here
[https://ignite.apache.org/docs/latest/clustering/network-configuration]
However, ignite uses a seemingly random port for connecting to the other node
sometimes. By default all ports are closed in the firewall, so the connection
fails with message "Failed to process selector key"
Here are some connections that ignite attempts:
locAddr=/10.125.100.93:20395, rmtAddr=/10.125.100.179:47100
locAddr=/10.125.100.93:10800, rmtAddr=/10.125.100.93:1851
locAddr=/10.125.100.93:10800, rmtAddr=/10.125.100.93:1775
locAddr=/10.125.100.93:1323, rmtAddr=/10.125.100.179:47100
So ports 20395, 1851, 1775, 1323 are used, but they are closed in the firewall.
The ports change all the time. If I add them to the firewall, it doesn't take
long until another unknown one pops up. I could not find them anywhere in the
ignite documentation. Where do they come from and how to fix it?
The network settings in the server config looks like this:
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>10.125.100.93</value>
<value>10.125.100.179</value>
</list>
</property>
</bean>
</property>
<property name="localAddress" value="10.125.100.93"/> <!-- other ip on
other node-->
</bean>
</property>
<property name="transactionConfiguration">
<bean class="org.apache.ignite.configuration.TransactionConfiguration">
<!--Set the timeout to 20 seconds-->
<property name="TxTimeoutOnPartitionMapExchange" value="20000"/>
</bean>
</property>
<property name="communicationSpi">
<bean
class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
<!-- Override timeout. -->
<property name="SocketWriteTimeout" value="20000"/>
</bean>
</property>
Full log output of the "Failed to process selector key" error attached.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)