Vadim Pakhnushev created IGNITE-24508:
-----------------------------------------
Summary: Putting ignite-jdbc into the classpath of embedded node
breaks client connections
Key: IGNITE-24508
URL: https://issues.apache.org/jira/browse/IGNITE-24508
Project: Ignite
Issue Type: Bug
Components: clients, jdbc
Affects Versions: 3.0
Reporter: Vadim Pakhnushev
Assignee: Vadim Pakhnushev
When embedded Ignite application has {{ignite-jdbc}} in its classpath, clients
cannot connect.
The issue is that {{ClientMessageDecoder}} class used in the
{{ClientHandlerModule}} is taken from the {{ignite-jdbc}} module, not from the
{{ignite-client-common}}. But {{ignite-jdbc}} jar is shaded and its netty
dependency is relocated to the {{org.apache.ignite.shaded.io.netty}} package.
So the {{ClientMessageDecoder}} eventually implements
{{org.gridgain.shaded.io.netty.channel.ChannelHandler}}, but the
{{ClientHandlerModule}} tries to create an array of
{{io.netty.channel.ChannelHandler}} and {{ArrayStoreException}} is thrown.
Separate issue is that this exception is silently ignored, resulting in server
only printing {noformat}[DEBUG][node-srv-worker-1][ClientHandlerModule] New
client connection [connectionId=1, remoteAddress=/127.0.0.1:62949]{noformat} in
the debug level and client failing to connect with exceptions cause by
{{java.io.IOException: Connection reset by peer}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)