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)

Reply via email to