Mikhail Petrov created IGNITE-24948: ---------------------------------------
Summary: SSL Engine may not be closed properly during NIO session close. Key: IGNITE-24948 URL: https://issues.apache.org/jira/browse/IGNITE-24948 Project: Ignite Issue Type: Bug Reporter: Mikhail Petrov Lets revisit steps that are occurred during session close: GridSelectorNioSessionImpl.close() -> .. -> GridNioSslFilter.onSessionClose() -> GridNioSslFilter.shutdownSession() -> GridNioSslHandler.writeNetBuffer() -> ... -> HeadFilter#onSessionClose -> GridNioServer#close GridNioSslFilter.shutdownSession() - closes SSL engine. GridNioSslHandler.writeNetBuffer() - asks SSL Engine to generate message with CLOSE-NOTIFY header. Which is intended to notify the SSL engine on the other side of the connection that the session has been closed. Puts this message to session's outbound buffer that will be asynchronously processes by NIO worker. GridNioServer#close - adds to the NIO worker queue "state change request" that closes the connection. AbstractNioClientWorker#bodyInternal - NIO worker handles first handles state change requests and then writes data to the socket. As a result, if connection close request and CLOSE-NOTIFY message is handled by 1 spin of NIO worker, we simply close the connection and do not send a CLOSE-NOTIFY message to the SSL Engine. -- This message was sent by Atlassian Jira (v8.20.10#820010)