Hi, since some time we are experiencing a deadlock in the mordred connection pool. It seems that this deadlock occurs only when sql queries take very long.
The attached patch goes a little further than just fixing the bug. I don't think it is wise to kill a connection after a minute execution time. Judge for yourself. Cheers, Marcus excerpt from a typical thread dump: Found one Java-level deadlock: ============================= "default Worker #4": waiting to lock monitor 0x8856f1c (object 0x44b4d568, a org.apache.james.util.mordred.PoolConnEntry), which is held by "Thread-3" "Thread-3": waiting to lock monitor 0x8856ffc (object 0x44b40138, a java.util.Vector), which is held by "default Worker #4" Java stack information for the threads listed above: =================================================== "default Worker #4": at org.apache.james.util.mordred.PoolConnEntry.lock(PoolConnEntry.java:110) - waiting to lock <0x44b4d568> (a org.apache.james.util.mordred.PoolConnEntry) at org.apache.james.util.mordred.JdbcDataSource.getConnection(JdbcDataSource.ja va:178) - locked <0x44b40138> (a java.util.Vector) at org.apache.james.mailrepository.JDBCSpoolRepository.loadPendingMessages(JDBC SpoolRepository.java:281) - locked <0x44b5f218> (a java.util.LinkedList) at org.apache.james.mailrepository.JDBCSpoolRepository.getNextPendingMessage(JD BCSpoolRepository.java:256) - locked <0x44b5f218> (a java.util.LinkedList) at org.apache.james.mailrepository.JDBCSpoolRepository.accept(JDBCSpoolReposito ry.java:154) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:350) at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Executabl eRunnable.java:47) at org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:8 0) - locked <0x44ba24b0> (a org.apache.avalon.excalibur.thread.impl.WorkerThread) "Thread-3": at java.util.Vector.removeElement(Vector.java:605) - waiting to lock <0x44b40138> (a java.util.Vector) at org.apache.james.util.mordred.JdbcDataSource.finalizeEntry(JdbcDataSource.ja va:579) - locked <0x44b400b0> (a org.apache.james.util.mordred.JdbcDataSource) at org.apache.james.util.mordred.JdbcDataSource.run(JdbcDataSource.java:452) - locked <0x44b4d568> (a org.apache.james.util.mordred.PoolConnEntry) at java.lang.Thread.run(Thread.java:536)
james.diff
Description: Binary data
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]