Igor Sapego created IGNITE-25693:
------------------------------------
Summary: Client connector produces excessive logs when SSL
connection fails
Key: IGNITE-25693
URL: https://issues.apache.org/jira/browse/IGNITE-25693
Project: Ignite
Issue Type: Bug
Components: thin clients ai3
Affects Versions: 3.0.0-beta1
Reporter: Igor Sapego
If the client secure certificate is wrong, client connector produces a whole
stacktrace, which is excessive and may result in unnecessary drive load.
A single exception example:
{noformat}
[WARN
][org.apache.ignite.internal.runner.app.PlatformTestNodeRunner_4-network-worker-8][ClientInboundMessageHandler]
Exception in client connector pipeline [connectionId=423,
remoteAddress=/127.0.0.1:51376]: javax.net.ssl.SSLHandshakeException: PKIX path
building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:796)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:732)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:658)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
[netty-transport-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)
[netty-common-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
[netty-common-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[netty-common-4.1.119.Final.jar:4.1.119.Final]
at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
~[?:?]
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:371)
~[?:?]
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
~[?:?]
at
java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:309)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkClientCerts(CertificateMessage.java:1301)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1204)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1181)
~[?:?]
at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[?:?]
at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1277)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1264)
~[?:?]
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1209)
~[?:?]
at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1695)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1541)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1377)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1428)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
... 17 more
Caused by: sun.security.validator.ValidatorException: PKIX path building
failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
at
java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
~[?:?]
at
java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
~[?:?]
at
java.base/sun.security.validator.Validator.validate(Validator.java:264) ~[?:?]
at
java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:285)
~[?:?]
at
java.base/sun.security.ssl.X509TrustManagerImpl.checkClientTrusted(X509TrustManagerImpl.java:138)
~[?:?]
at
io.netty.handler.ssl.EnhancingX509ExtendedTrustManager.checkClientTrusted(EnhancingX509ExtendedTrustManager.java:62)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkClientCerts(CertificateMessage.java:1279)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1204)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1181)
~[?:?]
at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[?:?]
at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1277)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1264)
~[?:?]
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1209)
~[?:?]
at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1695)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1541)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1377)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1428)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
... 17 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable
to find valid certification path to requested target
at
java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
~[?:?]
at
java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
~[?:?]
at
java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
~[?:?]
at
java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
~[?:?]
at
java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
~[?:?]
at
java.base/sun.security.validator.Validator.validate(Validator.java:264) ~[?:?]
at
java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:285)
~[?:?]
at
java.base/sun.security.ssl.X509TrustManagerImpl.checkClientTrusted(X509TrustManagerImpl.java:138)
~[?:?]
at
io.netty.handler.ssl.EnhancingX509ExtendedTrustManager.checkClientTrusted(EnhancingX509ExtendedTrustManager.java:62)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkClientCerts(CertificateMessage.java:1279)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1204)
~[?:?]
at
java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1181)
~[?:?]
at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[?:?]
at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1277)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1264)
~[?:?]
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
~[?:?]
at
java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1209)
~[?:?]
at
io.netty.handler.ssl.SslHandler.runDelegatedTasks(SslHandler.java:1695)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1541)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1377)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1428)
~[netty-handler-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
~[netty-codec-4.1.119.Final.jar:4.1.119.Final]
... 17 more
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)