[ 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)