pool error Timeout waiting for idle object -- EVEN WHEN TOMCAT IS OFF

42 views
Skip to first unread message

Carolyn Brown

unread,
Dec 11, 2019, 1:38:19 PM12/11/19
to DSpace Technical Support
All of a sudden we are constantly getting this connection error, and the database is working fine.  I've even turned off TOMCAT so that the DSpace application is now DOWN.  I'm still getting this error.  Does anyone have an idea what is going on?

An internal server error occurred on http://sal.muhlenberg.edu:8080/librarydspace:

Date:       12/9/19 2:47 AM
Session ID: 76DE10D5A1B6A8C4A06E4F8D90243237
User:       Anonymous
IP address: 5.101.219.82

-- URL Was: http://sal.muhlenberg.edu:8080/librarydspace/browse?type=author&sort_by=1&order=ASC&rpp=20&etal=-1&value=Jansen%2C+Sue+Curry&offset=7
-- Method: GET
-- Parameters were:
-- etal: "-1"
-- order: "ASC"
-- sort_by: "1"
-- type: "author"
-- value: "Jansen, Sue Curry"
-- rpp: "20"
-- offset: "7"


Exception:
org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
        at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:114)
        at org.dspace.storage.rdbms.DatabaseManager.getConnection(DatabaseManager.java:584)
        at org.dspace.core.Context.<init>(Context.java:90)
        at org.dspace.app.webui.util.UIUtil.obtainContext(UIUtil.java:98)
        at org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:100)
        at org.dspace.app.webui.servlet.DSpaceServlet.doGet(DSpaceServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:482)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:881)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:958)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
        ... 25 more



--
Carolyn Brown Ray
Web Architect
Office of Information Technology
Muhlenberg College

Shaun donovan

unread,
Dec 12, 2019, 2:35:37 AM12/12/19
to Carolyn Brown, DSpace Technical Support

Hi Carolyn.

Try setting "db.maxidle = 10" in your local.cfg or dspace.cfg. By default is is set to -1 (unlimited), but this used to lock up my databases as well as it did not release the pool connections and did not re-use them.

Kind Regards.

Shaun.

--
All messages to this mailing list should adhere to the DuraSpace Code of Conduct: https://duraspace.org/about/policies/code-of-conduct/
---
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/CALY1WG%3DH63L4%2B_djSY4YJSL3Wg_1%2B%3Dn%3DSdmKfFjjEz9oq64YrA%40mail.gmail.com.

Carolyn Brown

unread,
Dec 12, 2019, 11:17:19 AM12/12/19
to Shaun donovan, DSpace Technical Support
Thanks for the help Shaun.

The emails kept coming from DSpace while Tomcat was turned off because they were queued up in our mail server.  Once we cleared the cache on that end, the emails ceased.

We speculate that search engines are traversing our site, causing the continuous requests to DSpace.  I followed steps to manage the interaction of search engines with DSpace as indicated at https://wiki.lyrasis.org/display/DSDOC5x/Search+Engine+Optimization#SearchEngineOptimization-EnsureyourDSpaceisvisibletosearchengines  .  So far so good.  

I will also take your suggestion into consideration regarding  the value for db.maxidle, should any further adjustments be needed.  Thanks again!

Regards,
Reply all
Reply to author
Forward
0 new messages