[
https://issues.apache.org/jira/browse/IGNITE-3428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Goncharuk updated IGNITE-3428:
-------------------------------------
Fix Version/s: 1.8
> 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
> Priority: Critical
> Fix For: 1.8
>
>
> 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)