You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2016/07/06 14:12:11 UTC

[jira] [Resolved] (IGNITE-3428) TcpCommunicationSpi: potential message lost during reconnect

     [ https://issues.apache.org/jira/browse/IGNITE-3428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Semen Boikov resolved IGNITE-3428.
----------------------------------
    Resolution: Fixed

Fixed in master (commit #e9a508e).

> TcpCommunicationSpi: potential message lost during reconnect
> ------------------------------------------------------------
>
>                 Key: IGNITE-3428
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3428
>             Project: Ignite
>          Issue Type: Bug
>          Components: general
>            Reporter: Semen Boikov
>            Assignee: Semen Boikov
>            Priority: Critical
>
> Added test reproducing lost message during reconnect: IgniteCacheMessageRecoveryIdleConnection. 
> It is possible that method 'send' finished, then connection closed, there are unacknowledged messages, but communication does not try to reconnect (if there are no others messages to be sent to this node).
> Looks like there are at least 2 issues:
> - 'onDisconnected' checks result of 'clients.remove(id, rmv)' to trigger reconnect. this is not saf (e.g. client is removed when session is closed on idle timeout)
> - 'onDisconnected' checks that messagesFutures() collection is not empty, but 'onDisconnected' is erroneously called before all futures are polled from closing session (GridNioService.AbstractNioClientWorker.close)



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