[
https://issues.apache.org/jira/browse/IGNITE-27639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-27639:
---------------------------------------
Description:
On node stop, we close ServerChannel (the one that accepts incoming
connections), but we don't account for SocketChannels accepted by it.
ConnectionManager deals with those channels for which handshake was finished;
but if a ClusterService is stopped while some handshake is still not finished,
the corresponding SocketChannel may remain abandoned. On the other side, this
might manifest itself as a timeout while trying to send a message (because
channel acquisition hangs forever due to handshake being hung).
We could solve this by maintaining a set of accepted channels in NettyServer
and closing them explicitly on stop.
> Close accepted data channels explicitly on stop
> -----------------------------------------------
>
> Key: IGNITE-27639
> URL: https://issues.apache.org/jira/browse/IGNITE-27639
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> On node stop, we close ServerChannel (the one that accepts incoming
> connections), but we don't account for SocketChannels accepted by it.
> ConnectionManager deals with those channels for which handshake was finished;
> but if a ClusterService is stopped while some handshake is still not
> finished, the corresponding SocketChannel may remain abandoned. On the other
> side, this might manifest itself as a timeout while trying to send a message
> (because channel acquisition hangs forever due to handshake being hung).
> We could solve this by maintaining a set of accepted channels in NettyServer
> and closing them explicitly on stop.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)