Java sql sqlrecoverableexception ошибка ввода вывода socket read interrupted

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Socket read interrupted exception while executing sql script using jdbi3 #2159

Socket read interrupted exception while executing sql script using jdbi3 #2159

Comments

Hi Team,
In our project, we read the sql script from file and execute that script using jdbi api. This script basically checks the existence of schema in the oracle db, if exists then drop that schema. Here the code

String deleteDbSchemaQuery = readQueryFromFile("deleteSchemaScript.sql"); jdbi.useHandle( handle -> handle.createUpdate(deleteDbSchemaQuery) .bind("username", username) .execute()); 

Sometimes this code gives below exception during performance test.

Caused by: org.jdbi.v3.core.statement.UnableToExecuteStatementException: java.sql.SQLRecoverableException: IO Error: Socket read interrupted [statement:"DECLARE user_exists INTEGER := 0; user_name varchar2(100) := :username; drop_user_statement varchar2(100); BEGIN -- Check user exist or not SELECT COUNT(1) INTO user_exists FROM ALL_USERS WHERE USERNAME = user_name; IF (user_exists > 0) THEN -- drop user drop_user_statement := 'DROP USER ' || user_name || ' CASCADE'; EXECUTE IMMEDIATE drop_user_statement; DBMS_OUTPUT.put_line (user_name || ' user dropped successfully'); ELSE DBMS_OUTPUT.put_line (user_name || ' user not exist'); END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line (SQLERRM); RAISE; END; ", arguments:, named:, finder:[]>] at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1796) at org.jdbi.v3.core.result.ResultProducers.lambda$returningUpdateCount$0(ResultProducers.java:46) at org.jdbi.v3.core.statement.Update.execute(Update.java:60) at org.jdbi.v3.core.statement.Update.execute(Update.java:48) at com.oracle.oars.controlplane.commons.db.DBSchemaProviderImpl.lambda$deleteDBSchema$1(DBSchemaProviderImpl.java:59) at org.jdbi.v3.core.HandleConsumer.lambda$asCallback$0(HandleConsumer.java:32) at org.jdbi.v3.core.Jdbi.withHandle(Jdbi.java:357) at org.jdbi.v3.core.Jdbi.useHandle(Jdbi.java:373) at com.oracle.oars.controlplane.commons.db.DBSchemaProviderImpl.deleteDBSchema(DBSchemaProviderImpl.java:55) . 7 common frames omitted Suppressed: org.jdbi.v3.core.CloseException: Exception thrown while cleaning StatementContext at org.jdbi.v3.core.statement.StatementContext.close(StatementContext.java:593) at org.jdbi.v3.core.result.ResultProducers.lambda$returningUpdateCount$0(ResultProducers.java:45) . 14 common frames omitted Caused by: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.requireOpenConnection(PhysicalConnection.java:11385) at oracle.jdbc.driver.PhysicalConnection.needLine(PhysicalConnection.java:4056) at oracle.jdbc.driver.OracleStatement.closeOrCache(OracleStatement.java:1828) at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:1811) at oracle.jdbc.driver.OracleStatementWrapper.close(OracleStatementWrapper.java:146) at oracle.jdbc.driver.OraclePreparedStatementWrapper.close(OraclePreparedStatementWrapper.java:110) at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:118) at com.sun.proxy.$Proxy111.close(Unknown Source) at org.jdbi.v3.core.statement.DefaultStatementBuilder.close(DefaultStatementBuilder.java:73) at org.jdbi.v3.core.statement.SqlStatement.lambda$internalExecute$7(SqlStatement.java:1773) at org.jdbi.v3.core.statement.StatementContext.close(StatementContext.java:582) . 15 common frames omitted Suppressed: org.jdbi.v3.core.CloseException: Failed to clear transaction status on close at org.jdbi.v3.core.Handle.close(Handle.java:198) at org.jdbi.v3.core.Jdbi.withHandle(Jdbi.java:355) . 9 common frames omitted Caused by: org.jdbi.v3.core.transaction.TransactionException: Failed to test for transaction status at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.isInTransaction(LocalTransactionHandler.java:194) at org.jdbi.v3.core.Handle.isInTransaction(Handle.java:361) at org.jdbi.v3.core.Handle.close(Handle.java:165) . 10 common frames omitted Caused by: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.requireOpenConnection(PhysicalConnection.java:11385) at oracle.jdbc.driver.PhysicalConnection.getAutoCommit(PhysicalConnection.java:2559) at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:131) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109) at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) at com.sun.proxy.$Proxy110.getAutoCommit(Unknown Source) at org.jdbi.v3.core.transaction.LocalTransactionHandler$BoundLocalTransactionHandler.isInTransaction(LocalTransactionHandler.java:192) . 12 common frames omitted Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1061) at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1530) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1310) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3745) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3940) at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1009) at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:118) at com.sun.proxy.$Proxy111.execute(Unknown Source) at org.jdbi.v3.core.statement.SqlLoggerUtil.wrap(SqlLoggerUtil.java:31) at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1788) . 15 common frames omitted Suppressed: java.sql.SQLRecoverableException: Closed Connection at oracle.jdbc.driver.PhysicalConnection.requireOpenConnection(PhysicalConnection.java:11385) at oracle.jdbc.driver.PhysicalConnection.needLine(PhysicalConnection.java:4056) at oracle.jdbc.driver.OracleStatement.closeOrCache(OracleStatement.java:1828) at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:1811) at oracle.jdbc.driver.OracleStatementWrapper.close(OracleStatementWrapper.java:146) at oracle.jdbc.driver.OraclePreparedStatementWrapper.close(OraclePreparedStatementWrapper.java:110) at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:118) at com.sun.proxy.$Proxy111.close(Unknown Source) at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1791) . 15 common frames omitted Caused by: java.io.InterruptedIOException: Socket read interrupted at oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:548) at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:419) at oracle.net.nt.SSLSocketChannel.readFromSocket(SSLSocketChannel.java:731) at oracle.net.nt.SSLSocketChannel.fillReadBuffer(SSLSocketChannel.java:349) at oracle.net.nt.SSLSocketChannel.fillAndUnwrap(SSLSocketChannel.java:279) at oracle.net.nt.SSLSocketChannel.read(SSLSocketChannel.java:129) at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:1118) at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:266) at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:198) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:140) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:113) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:97) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:833) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMA. 

Checked with DB team, after their investigation they have told that there is no issue from db side and no connection drop was seen in db during that time. This issue might be coming from the client side.
Could you suggest any possible fix ?
Thanks

Читайте также:  nth-child

The text was updated successfully, but these errors were encountered:

Источник

Оцените статью