Navigation Menu

Skip to content
New issue

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

Failed to connect after db restart #671

Closed
rizagp opened this issue Jul 12, 2016 · 5 comments
Closed

Failed to connect after db restart #671

rizagp opened this issue Jul 12, 2016 · 5 comments
Labels

Comments

@rizagp
Copy link

rizagp commented Jul 12, 2016

Hello Bret,

After a while I use HikariCP I feel the performance feels nice on Oracle 11g and somehow the reconnect so good in context the wire/wireless (using wifi in my PC to dev db) to db is connected again. But yesterday the pool won't reconnect after db restarted. Just after the webapp is restarted it goes back online. Maybe some things I need to do to regain connection for that case? I'm using HikariCP 2.4.6 and just recently updated to 2.4.7 yesterday

@githubwz001
Copy link

I also want to know the reason.

@johnou
Copy link
Contributor

johnou commented Jul 29, 2016

Enable debug logging for HikariCP, restart db to reproduce, and attach logs please? Providing your config parameters would be useful too.

@rizagp
Copy link
Author

rizagp commented Jul 30, 2016

The error :
2016-07-11 12:42:27.885 [http-apr-8080-exec-5] ERROR c.r.b.b.csr.resource.RedaksiResource [IPADDRESS=172.26.24.9] [X-FORWARDER-FOR=127.0.0.1] [PATH=/redaksi/getRedaksi] ERROR [QueryRequest{chId=BPU-CSR, reqId=CSR1468216005, pageSize=null, pageNumber=null, query=[Filter{column=KODE_REDAKSI, value=4}]}] [RedaksiResponse{ret=-10, cont=[SQLState=61000,Error Code=0], msg=Database error, desc=HikariPool-1 - Connection is not available, request timed out after 30000ms., rowCount=null, page=null, pageCount=null}] java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:196) at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:99) at com.riza.gatotkoco.factory.HikariConnection.getConnection(HikariConnection.java:86) at com.riza.bpjstk.bpu.csr.resource.RedaksiResource.get(RedaksiResource.java:59) at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139) at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295) at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249) at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2445) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: ORA-04031: unable to allocate 80 bytes of shared memory ("large pool","unknown object","session heap","dbgdInitEventGrp: eventGrpI") at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382) at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:444) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227) at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:407) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:416) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528) at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:280) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:207) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157) at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:316) at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:173) at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:443) at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:66) at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:568) at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:561) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 1 common frames omitted
Settings :
csr_user=SOMEUSERNAME csr_password=SOMEPASSWORD csr_databaseName=repodb csr_serverName=SOMEIP csr_portNumber=1521 csr_driverType=thin csr_MAXIMUM_POOL_SIZE=5 -> I set this to 16 when the error happen csr_MINIMUM_IDLE=1 csr_DATA_SOURCE_CLASS_NAME=oracle.jdbc.pool.OracleDataSource
I'm using Tomcat 8.0.36
I can't reproduce error because I don't have access to dev db server

@brettwooldridge
Copy link
Owner

Ultimately this is an Oracle configuration issue, not a HikariCP issue.

http://www.dba-oracle.com/t_ora_04031_unable_to_allocate_shared_memory.htm

http://www.dba-oracle.com/sf_ora_04031_unable_to_allocate_string_bytes_of_shared_memory.htm

http://dba.stackexchange.com/a/94863

@user20161119
Copy link

Ultimately this is an Oracle configuration issue, not a HikariCP issue.

http://www.dba-oracle.com/t_ora_04031_unable_to_allocate_shared_memory.htm

http://www.dba-oracle.com/sf_ora_04031_unable_to_allocate_string_bytes_of_shared_memory.htm

http://dba.stackexchange.com/a/94863

restart app server,connection pool work back. we configured connection-test-query=SELECT 1 FROM DUAL in spring boot based application,but not work either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants