Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.7
-
None
-
None
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.