You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Evgenii Zhuravlev (JIRA)" <ji...@apache.org> on 2017/07/27 17:15:00 UTC
[jira] [Updated] (IGNITE-5860) Client disconnects if server it is
connected to goes unresponsive
[ 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)