[daisy] connection pool exhausted

Tom Brusselle tb at schaubroeck.be
Tue Mar 6 02:58:42 CST 2007


Hi,

We're running quite a big daisy (10920 documents and counting) and 
recently we've started to get the following error: 
"org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, 
pool exhausted".  (full error below)

Once this happens nobody can login anymore and the only solution is 
restarting the daisy merlin en wiki.

Is there a way to increase the number of available connections in the 
pool?   (or could it is possible that connections somehow don't get 
released over time and that's wy we eventually run out?)

thx,

Tom Brusselle
sysadmin Schaubroeck NV




full log entry:

[ERROR  ] <2007-03-06 09:15:48,579> 
(daisy.repository.httpconnector.request-errors): Error authenticating user.
org.outerj.daisy.authentication.AuthenticationException: Error trying to 
authenticate user with Daisy Authentication Scheme.
         at 
org.outerj.daisy.authentication.impl.DaisyAuthenticationFactory$DaisyAuthenticationScheme.check(DaisyAuthenticationFactory.java:132)
         at 
org.outerj.daisy.authentication.CachingAuthenticationScheme.check(CachingAuthenticationScheme.java:66)
         at 
org.outerj.daisy.authentication.impl.UserAuthenticatorImpl.authenticate(UserAuthenticatorImpl.java:126)
         at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at 
org.apache.avalon.activation.impl.ApplianceInvocationHandler.invoke(ApplianceInvocationHandler.java:129)
         at $Proxy7.authenticate(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at 
org.apache.avalon.activation.impl.BlockInvocationHandler.invoke(BlockInvocationHandler.java:108)
         at $Proxy9.authenticate(Unknown Source)
         at 
org.outerj.daisy.repository.serverimpl.LocalRepositoryManager.getRepository(LocalRepositoryManager.java:150)
         at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at 
org.apache.avalon.activation.impl.ApplianceInvocationHandler.invoke(ApplianceInvocationHandler.java:129)
         at $Proxy14.getRepository(Unknown Source)
         at 
org.outerj.daisy.httpconnector.HttpConnectorImpl$DaisyUserRealm.authenticate(HttpConnectorImpl.java:294)
         at 
org.mortbay.http.BasicAuthenticator.authenticate(BasicAuthenticator.java:64)
         at 
org.mortbay.http.SecurityConstraint.check(SecurityConstraint.java:442)
         at 
org.mortbay.http.HttpContext.checkSecurityConstraints(HttpContext.java:1326)
         at 
org.mortbay.http.handler.SecurityHandler.handle(SecurityHandler.java:81)
         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
         at 
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
         at 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a 
connection, pool exhausted
         at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103)
         at 
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:544)
         at 
org.outerj.daisy.datasource.JdbcDataSource.getConnection(JdbcDataSource.java:165)
         at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at 
org.apache.avalon.activation.impl.ApplianceInvocationHandler.invoke(ApplianceInvocationHandler.java:129)
         at $Proxy3.getConnection(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at 
org.apache.avalon.activation.impl.BlockInvocationHandler.invoke(BlockInvocationHandler.java:108)
         at $Proxy3.getConnection(Unknown Source)
         at 
org.outerj.daisy.authentication.impl.DaisyAuthenticationFactory$DaisyAuthenticationScheme.check(DaisyAuthenticationFactory.java:117)
         ... 32 more
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
         at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:756)
         at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
         ... 45 more

 **** DISCLAIMER ****
 http://www.schaubroeck.be/maildisclaimer.htm


More information about the daisy mailing list