You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2015/08/11 11:44:46 UTC

[jira] [Commented] (IGNITE-1229) Stop ping procedure when node left event received

    [ https://issues.apache.org/jira/browse/IGNITE-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14681540#comment-14681540 ] 

Denis Magda commented on IGNITE-1229:
-------------------------------------

Improved the ping procedure in the following way.

If during a ping iteration an exception is thrown then before trying to reconnect to an address we will check whether a node is still in topology. If it doesn't then the ping procedure will be interrupted immediately by throwing {{IgniteNodeLeftException}}. This exception will be gracefully processed by {{ServerImpl.pingNode(TcpDiscoveryNode node)}} that will stop keep trying to reach the node using other its addresses. 

In addition, fixed two bugs:
- if ping returns 'false' then before initiating status check need to check if node is still visible;
- access to {{failedNodes}} was not properly synchronized in one place.

The patch is attached.

> Stop ping procedure when node left event received 
> --------------------------------------------------
>
>                 Key: IGNITE-1229
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1229
>             Project: Ignite
>          Issue Type: Task
>          Components: general
>            Reporter: Semen Boikov
>            Assignee: Denis Magda
>             Fix For: ignite-1.4
>
>
> Node ping procedure (ServerImpl.pingNode(TcpDiscoveryNode node)) can be time consuming: by default it 10 times tries to connect to each node's address, and now it continues to ping even after node left/failed event is received.
> Also there is minor issue in ServerImpl.pingNode(UUID nodeId): if ping returns 'false' then before initiating status check need to check if node is still visible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)