[ https://issues.apache.org/jira/browse/IGNITE-5860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Evgenii Zhuravlev updated IGNITE-5860: -------------------------------------- Description: Scenario is the following: # Start at least two server nodes. # Start a client node. # Detect server node client is connected to in discovery SPI. # Suspend that server (^Z in terminal or 'kill -SIGSTOP <PID>'). # It's expected that client will drop connection with this server and connect to another one. # However, a client gets dropped from topology and disconnects. A client should reconnect cluster before the timeout and without EVT_CLIENT_NODE_RECONNECTED event. In ClientImpl.Reconnector in joinTopology method it gets all addresses from discoverySpi and addresses of the server that was suspended on top of this list. *Proposed solution:* Move addresses of the suspended server to the end of the list for the join. was: Scenario is the following: # Start at least two server nodes. # Start a client node. # Detect server node client is connected to in discovery SPI. # Suspend that server (^Z in terminal or 'kill -SIGSTOP <PID>'). # It's expected that client will drop connection with this server and connect to another one. # However, a client gets dropped from topology and disconnects. A client should reconnect cluster before the timeout and without EVT_CLIENT_NODE_RECONNECTED event. In ClientImpl.Reconnector in joinTopology method it gets all addresses from discoverySpi and addresses of the server that was suspended on top of this list. Suggested solution: Move addresses of the suspended server to the end of the list for the join. > Client disconnects if server it is connected to goes unresponsive > ------------------------------------------------------------------ > > Key: IGNITE-5860 > URL: https://issues.apache.org/jira/browse/IGNITE-5860 > Project: Ignite > Issue Type: Bug > Affects Versions: 1.7 > Reporter: Evgenii Zhuravlev > Fix For: 2.2 > > > Scenario is the following: > # Start at least two server nodes. > # Start a client node. > # Detect server node client is connected to in discovery SPI. > # Suspend that server (^Z in terminal or 'kill -SIGSTOP <PID>'). > # It's expected that client will drop connection with this server and > connect to another one. > # However, a client gets dropped from topology and disconnects. > A client should reconnect cluster before the timeout and without > EVT_CLIENT_NODE_RECONNECTED event. > In ClientImpl.Reconnector in joinTopology method it gets all addresses from > discoverySpi and addresses of the server that was suspended on top of this > list. > *Proposed solution:* > Move addresses of the suspended server to the end of the list for the join. -- This message was sent by Atlassian JIRA (v6.4.14#64029)