Hi,
I am trying to install an application using Oracle DB specifically using OJDBC17 jar with SSL Mode.
I am running into a lot of Connection Reset exceptions.
Few things to note -
The same is working perfectly with OJDBC7 and OJDBC11 jars.
This issue is occurring specifically in SSL enabled environment.
We are upgrading our application to make it compatible with JDK17. It has been stable on JDK8.
Logs & Stack Trace -
Mar 18, 2025 10:03:06 PM oracle.jdbc.driver.PhysicalConnection connect
INFO: throwing
java.sql.SQLRecoverableException: ORA-17002: I/O error: Connection reset, connect lapse 2 ms., Authentication lapse 0 ms.
https://docs.oracle.com/error-help/db/ora-17002/
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1674)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1154)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:895)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:190)
at util.frame.jdbc.ConnectionFactory.create(ConnectionFactory.java:304)
at util.frame.pool.Pool.<init>(Pool.java:182)
at util.frame.pool.PoolManager.createPool(PoolManager.java:80)
at util.frame.jdbc.ConnectionService.initializePool(ConnectionService.java:622)
at util.frame.jdbc.ConnectionService.initConnectionService(ConnectionService.java:170)
at util.frame.jdbc.ConnectionService.<clinit>(ConnectionService.java:77)
at util.frame.jdbc.JDBCService.getConnection(JDBCService.java:219)
at util.frame.jdbc.Conn.getConnection(Conn.java:64)
at kcapi.ValidateSystemPassphrase.getDBConnection(ValidateSystemPassphrase.java:54)
at kcapi.ValidateSystemPassphrase.getEncryptedKeyPassword(ValidateSystemPassphrase.java:90)
at kcapi.ValidateSystemPassphrase.validateSystemPassphrase(ValidateSystemPassphrase.java:151)
at utils.BaseCallableImpl.validateSystemPassphrase(BaseCallableImpl.java:137)
at module_loader.ServiceInstallDriver.doIt(ServiceInstallDriver.java:256)
at install.module_loader.ServiceInstallDriver.main(ServiceInstallDriver.java:55)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at install.module_loader.ServiceInstallBootstrapper.doIt(ServiceInstallBootstrapper.java:101)
at install.module_loader.ServiceInstallBootstrapper.main(ServiceInstallBootstrapper.java:44)
Caused by: java.io.IOException: Connection reset, connect lapse 2 ms., Authentication lapse 0 ms.
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1669)
... 27 more
Caused by: java.io.IOException: Connection reset, connect lapse 2 ms.
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:264)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:353)
at oracle.jdbc.driver.T4CConnection.connectNetworkSessionProtocol(T4CConnection.java:3462)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1030)
... 26 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
at java.base/sun.nio.ch.SocketChannelImpl.blockingRead(SocketChannelImpl.java:1303)
at java.base/sun.nio.ch.SocketAdaptor$1.read(SocketAdaptor.java:194)
at oracle.net.nt.TimeoutSocketChannel.doBlockedRead(TimeoutSocketChannel.java:601)
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:537)
at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:1225)
at oracle.net.ns.NIOPacket.readNIOPacket(NIOPacket.java:437)
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:217)
... 29 more
INFO: throwing
java.sql.SQLRecoverableException: ORA-17002: I/O error: Connection reset, connect lapse 2 ms., Authentication lapse 0 ms.
https://docs.oracle.com/error-help/db/ora-17002/
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1674)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1154)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:895)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:190)
at util.frame.jdbc.ConnectionFactory.create(ConnectionFactory.java:304)
at util.frame.pool.Pool.getItem(Pool.java:294)
at util.frame.pool.Pool.getItem(Pool.java:253)
at util.frame.pool.PoolManager.getItem(PoolManager.java:171)
at frame.jdbc.ConnectionService.updateDBDiffTime(ConnectionService.java:633)
at frame.jdbc.ConnectionService.initializePool(ConnectionService.java:623)
at frame.jdbc.ConnectionService.initConnectionService(ConnectionService.java:170)
at util.frame.jdbc.ConnectionService.<clinit>(ConnectionService.java:77)
at util.frame.jdbc.JDBCService.getConnection(JDBCService.java:219)
at util.frame.jdbc.Conn.getConnection(Conn.java:64)
at kcapi.ValidateSystemPassphrase.getDBConnection(ValidateSystemPassphrase.java:54)
at kcapi.ValidateSystemPassphrase.getEncryptedKeyPassword(ValidateSystemPassphrase.java:90)
at kcapi.ValidateSystemPassphrase.validateSystemPassphrase(ValidateSystemPassphrase.java:151)
at install.utils.BaseCallableImpl.validateSystemPassphrase(BaseCallableImpl.java:137)
at install.module_loader.ServiceInstallDriver.doIt(ServiceInstallDriver.java:256)
at install.module_loader.ServiceInstallDriver.main(ServiceInstallDriver.java:55)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at install.module_loader.ServiceInstallBootstrapper.doIt(ServiceInstallBootstrapper.java:101)
at install.module_loader.ServiceInstallBootstrapper.main(ServiceInstallBootstrapper.java:44)
Caused by: java.io.IOException: Connection reset, connect lapse 2 ms., Authentication lapse 0 ms.
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1669)
... 29 more
Caused by: java.io.IOException: Connection reset, connect lapse 2 ms.
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:264)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:353)
at oracle.jdbc.driver.T4CConnection.connectNetworkSessionProtocol(T4CConnection.java:3462)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1030)
... 28 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
at java.base/sun.nio.ch.SocketChannelImpl.blockingRead(SocketChannelImpl.java:1303)
at java.base/sun.nio.ch.SocketAdaptor$1.read(SocketAdaptor.java:194)
at oracle.net.nt.TimeoutSocketChannel.doBlockedRead(TimeoutSocketChannel.java:601)
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:537)
at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:1225)
at oracle.net.ns.NIOPacket.readNIOPacket(NIOPacket.java:437)
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:217)
... 31 more
[2025-03-18 21:37:15.804] ERROR 000310100002 UTIL.FRAME_JDBC.ERR_ConnectionFactory_create [ConnectionFactory].create()
[2025-03-18 21:37:15.805] ERROR [1742314035805] ORA-17002: I/O error: Connection reset, connect lapse 1 ms., Authentication lapse 0 ms.
https://docs.oracle.com/error-help/db/ora-17002/
[2025-03-18 21:37:15.806] ERRORDTL [1742314035805]java.sql.SQLRecoverableException: ORA-17002: I/O error: Connection reset, connect lapse 1 ms., Authentication lapse 0 ms.
https://docs.oracle.com/error-help/db/ora-17002/
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1674)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1154)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1189)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:106)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:895)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:190)
at util.frame.jdbc.ConnectionFactory.create(ConnectionFactory.java:307)
at util.frame.pool.Pool.<init>(Pool.java:182)
at util.frame.pool.PoolManager.createPool(PoolManager.java:81)
at util.frame.jdbc.ConnectionService.initializePool(ConnectionService.java:588)
at util.frame.jdbc.ConnectionService.initConnectionService(ConnectionService.java:133)
at util.frame.jdbc.ConnectionService.reinit(ConnectionService.java:886)
at util.frame.jdbc.JDBCService.reinit(JDBCService.java:431)
at platform_ifc_core.scripts.PostServiceInstall.doPostInstallTasks(PostServiceInstall.java:74)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at install.utils.ClassUtils.runAllOfTypeInPackage(ClassUtils.java:130)
at install.module_loader.ServiceInstall.doPostInstallTasks(ServiceInstall.java:3767)
at install.module_loader.ServiceInstall.installService(ServiceInstall.java:1077)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:563)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:259)
at install.module_loader.ServiceInstall.installComponents(ServiceInstall.java:660)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:601)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:259)
at install.module_loader.ServiceInstall.installComponents(ServiceInstall.java:660)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:601)
at install.module_loader.ServiceInstall.install(ServiceInstall.java:238)
at install.module_loader.ServiceInstall.installWithLoader(ServiceInstall.java:288)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at install.InstallSI.MiddlewareModuleLoader(InstallSI.java:1916)
at install.InstallSI.PerformInstall(InstallSI.java:1012)
at install.InstallSI.main(InstallSI.java:156)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:575)
at install.InstallSIBootstrapper.instanciateAndRun(InstallSIBootstrapper.java:376)
at install.InstallSIBootstrapper.instanciateAndRun(InstallSIBootstrapper.java:380)
at install.InstallSIBootstrapper.doIt(InstallSIBootstrapper.java:192)
at install.InstallSIBootstrapper.main(InstallSIBootstrapper.java:80)
Caused by: java.io.IOException: Connection reset, connect lapse 1 ms., Authentication lapse 0 ms.
at oracle.jdbc.driver.T4CConnection.handleLogonIOException(T4CConnection.java:1669)
... 46 more
Caused by: java.io.IOException: Connection reset, connect lapse 1 ms.
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:264)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:353)
at oracle.jdbc.driver.T4CConnection.connectNetworkSessionProtocol(T4CConnection.java:3462)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1030)
... 45 more
Caused by: java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
at java.base/sun.nio.ch.SocketChannelImpl.blockingRead(SocketChannelImpl.java:1303)
at java.base/sun.nio.ch.SocketAdaptor$1.read(SocketAdaptor.java:194)
at oracle.net.nt.TimeoutSocketChannel.doBlockedRead(TimeoutSocketChannel.java:601)
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:537)
at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:1225)
at oracle.net.ns.NIOPacket.readNIOPacket(NIOPacket.java:437)
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:217)
... 48 more
Please guide on how do I resolve this.