You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ji...@apache.org on 2004/05/25 15:34:01 UTC

[jira] Updated: (JAMES-294) Database Pool becomes exhausted after a short time when heavily polled

The following issue has been updated:

    Updater: Noel J. Bergman (mailto:noel@devtech.com)
       Date: Tue, 25 May 2004 6:32 AM
    Changes:
             Version changed to 2.2.0RC1
             Version changed to 2.2.0RC2
             Fix Version changed to 2.2.0RC5
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://issues.apache.org/jira/browse/JAMES-294?page=history

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JAMES-294

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JAMES-294
    Summary: Database Pool becomes exhausted after a short time when heavily polled
       Type: Bug

     Status: In Progress
   Priority: Major

    Project: James
 Components: 
             UsersStore & UsersRepository
   Fix Fors:
             2.2.0RC5
   Versions:
             2.2.0RC3
             2.2.0RC4
             2.2.0RC1
             2.2.0RC2

   Assignee: Noel J. Bergman
   Reporter: Chris Means

    Created: Tue, 25 May 2004 5:50 AM
    Updated: Tue, 25 May 2004 6:32 AM
Environment: Windows NT v4.0, Java 1.4.2

Description:
I've had RC3 running for the past week.

Other than an issue I ran into with the config.xml when translating changes from my 0a4 configuration, RC3 has been running quite well except for a new problem that appears to have surfaced.

This issue may relate to the fact that I've also been evaluating Mars
(http://leapfrog-mars.sourceforge.net/) for monitoring services.

Here's the exception that's occurring in the pop3server log:

23/05/04 11:01:58 ERROR pop3server: Exception during connection from intfar.com (66.92.129.218) : An exception occurred getting a database connection.
org.apache.avalon.framework.CascadingRuntimeException: An exception occurred getting a database connection.
	at
org.apache.james.userrepository.AbstractJdbcUsersRepository.openConnection(A
bstractJdbcUsersRepository.java:601)
	at
org.apache.james.userrepository.AbstractJdbcUsersRepository.getUserByName(Ab
stractJdbcUsersRepository.java:506)
	at
org.apache.james.userrepository.AbstractUsersRepository.test(AbstractUsersRe
pository.java:284)
	at
org.apache.james.pop3server.POP3Handler.doPASS(POP3Handler.java:528)
	at
org.apache.james.pop3server.POP3Handler.parseCommand(POP3Handler.java:470)
	at
org.apache.james.pop3server.POP3Handler.handleConnection(POP3Handler.java:26
6)
	at
org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run
(ServerConnection.java:417)
	at
org.apache.james.util.thread.ExecutableRunnable.execute(ExecutableRunnable.j
ava:55)
	at
org.apache.james.util.thread.WorkerThread.run(WorkerThread.java:90)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause: Timeout waiting for idle object
	at
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.ja
va:148)
	at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:5
18)
	at
org.apache.james.util.dbcp.JdbcDataSource.getConnection(JdbcDataSource.java:
218)
	at
org.apache.james.userrepository.AbstractJdbcUsersRepository.openConnection(A
bstractJdbcUsersRepository.java:598)
	... 8 more
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
	at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPoo
l.java:801)
	at
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.ja
va:140)
	... 11 more

This an exception from mailstore log:

23/05/04 10:31:09 ERROR mailstore: Error retrieving messageCannot get a connection, pool exhausted0nullnull
23/05/04 10:31:09 ERROR mailstore: Exception during retrieve -- skipping item Mail1085326264738-657
javax.mail.MessagingException: Exception while retrieving mail: Cannot get a connection, pool exhausted
	at
org.apache.james.mailrepository.JDBCMailRepository.retrieve(JDBCMailReposito
ry.java:905)
	at
org.apache.james.mailrepository.JDBCSpoolRepository.accept(JDBCSpoolReposito
ry.java:199)
	at
org.apache.james.mailrepository.JDBCSpoolRepository.accept(JDBCSpoolReposito
ry.java:124)
	at
org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:350)
	at java.lang.Thread.run(Thread.java:536)

Some background:

I am the primary user of this mail server.  My M$ Outlook checks 5 different accounts every 5 minutes.

Since I've been evaluating Mars, I've had it monitoring access for POP3 and SMTP every minute, with a 5 second timeout.

I think it's this last point that's likely causing the problem.  Am I expecting too much from James?  My monitoring too aggressive?

As this seems to be a new issue, I didn't think RC4 was likely to solve it.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org