[
https://issues.apache.org/jira/browse/IGNITE-28459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-28459:
------------------------------------
Labels: ise (was: )
> Ignite NIO server may not close client socket channels if connection was
> accepted while node is stopping
> --------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-28459
> URL: https://issues.apache.org/jira/browse/IGNITE-28459
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mikhail Petrov
> Priority: Major
> Labels: ise
> Attachments: wip.patch
>
>
> Steps that lead to mentioned problem:
> 1. The thin client establishes a connection to the server.
> 2. The server accepts the connection and enqueues the socket channel
> registration in the selector (see
> GridNioServer.AbstractNioClientWorker#offer(),
> GridNioServer.NioOperation#CONNECT, GridNioServer.NioOperation#REGISTER)
> 3. The server stops the NIO server, which results in:
> a) stopping queue processing;
> b) closing only those socket channels that were registered in the selector
> (see GridNioServer.AbstractNioClientWorker#bodyInternal, last block);
> 4. The thin client's socket channel remains in the queue, unclosed and
> unprocessed
> This is ca be a major problem for cases when node stops but Java process
> keeps running.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)