This is an automated email from the ASF dual-hosted git repository.
apolovtsev pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 1d55cbf5ddd IGNITE-28480 Fix NPE in NettyClientMessageHandler when SSL
handshake fails (#7940)
1d55cbf5ddd is described below
commit 1d55cbf5ddde7a433581e2740213146028097471
Author: Alexander Polovtcev <[email protected]>
AuthorDate: Tue Apr 7 15:33:57 2026 +0300
IGNITE-28480 Fix NPE in NettyClientMessageHandler when SSL handshake fails
(#7940)
---
.../client/io/netty/NettyClientMessageHandler.java | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git
a/modules/client/src/main/java/org/apache/ignite/internal/client/io/netty/NettyClientMessageHandler.java
b/modules/client/src/main/java/org/apache/ignite/internal/client/io/netty/NettyClientMessageHandler.java
index 49fc23668a3..7221a52409a 100644
---
a/modules/client/src/main/java/org/apache/ignite/internal/client/io/netty/NettyClientMessageHandler.java
+++
b/modules/client/src/main/java/org/apache/ignite/internal/client/io/netty/NettyClientMessageHandler.java
@@ -28,23 +28,31 @@ import io.netty.channel.ChannelInboundHandlerAdapter;
*/
@SuppressWarnings("resource")
public class NettyClientMessageHandler extends ChannelInboundHandlerAdapter {
- /** {@inheritDoc} */
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
connection(ctx).onMessage((ByteBuf) msg);
}
- /** {@inheritDoc} */
@Override
public void channelInactive(ChannelHandlerContext ctx) {
- connection(ctx).onDisconnected(null);
+ NettyClientConnection conn = connection(ctx);
+
+ if (conn != null) {
+ conn.onDisconnected(null);
+ }
}
- /** {@inheritDoc} */
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
- connection(ctx).onDisconnected(cause);
- ctx.channel().close();
+ NettyClientConnection conn = connection(ctx);
+
+ if (conn != null) {
+ conn.onDisconnected(cause);
+
+ ctx.channel().close();
+ } else {
+ ctx.fireExceptionCaught(cause);
+ }
}
private static NettyClientConnection connection(ChannelHandlerContext ctx)
{