On 07/06/2012 12:45 PM, Steven Cassidy wrote:
> Hi, Thanks for the replies. I don't think there's a leak unless it
> manifests itself only very occasionally. The stats now are Active 6,
> Idle 133, Created 0.02% (757 / 3.3M), Failed 0, max-connections 256,
> idle time 30000. The active count is not increasing.
> The driver type in the pool definition is
> com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource. The
> connector/j version is mysql-connector-java-5.0.8-bin.jar. I'm
> interested that you mention a known issue with mysql - could we be
> seeing that possibly? Is there a fix, or somewhere I can learn about
> the issue?
The ConnectionPoolDataSource is at
But if you don't have any threads waiting for a new connection in the
driver (there should be at least one), it might be a different issue,
and may be fixed in a later Resin version.
> The puzzling thing is that as far as I can see from the thread lists,
> when these freezes happen, there is no runnable thread in any of our
> code at all - just the threads waiting on the lock. MySQL show
> processlist also claims its idle.
> Thanks again.
> On 6 July 2012 14:59, Scott Ferguson <f...@caucho.com> wrote:
>> On 07/06/2012 11:47 AM, Knut Forkalsrud wrote:
>> You may want to keep track of the DB pool statistics. Active versus maximum
>> allocation counts. If this is a connection leak you would notice the number
>> of active connection creeping upwards until it reaches max and your freezing
>> symptoms appear.
>> Also, which driver is this with? There's a specific synchronization problem
>> with the mysql ConnectionPool driver that might be a problem.
>> And, for jstack, the thread that owns the lock/counter is more important
>> than the threads waiting. If you can find the threads that are opening the
>> connection (in the actual driver code), that would help track this down.
>> An upgrade might help, but it would depend on what's causing the problem.
>> -- Scott
>> Knut Forkalsrud
>> On Fri, Jul 6, 2012 at 5:51 AM, Steven Cassidy <steven.cass...@gmail.com>
>>> Hi, I'm using resin-3.1.3 on a busy site. Periodically the site
>>> freezes. A jstack on the server shows most threads in this state:
>>> java.lang.Thread.State: TIMED_WAITING (on object monitor)
>>> at java.lang.Object.wait(Native Method)
>>> at com.caucho.jca.ConnectionPool.create(ConnectionPool.java:897)
>>> - locked <0x00002aaaba60be48> (a java.util.ArrayList)
>>> at com.caucho.jca.ConnectionPool.allocatePool(ConnectionPool.java:779)
>>> at com.caucho.jca.ConnectionPool.allocate(ConnectionPool.java:740)
>>> at com.caucho.sql.DataSourceImpl.getConnection(DataSourceImpl.java:65)
>>> at com.caucho.sql.DBPool.getConnection(DBPool.java:669)
>>> It looks like no thread ever gets notified and all wait indefinitely.
>>> Resin generally restarts itself about 15 minutes later if left alone.
>>> The database itself apppears idle during this time.
>>> I wondered if this might be a known problem and if upgrading to 3.1.12
>>> would help? I don't think the pool is full. I noticed a pool timing
>>> issue was fixed in 3.1.10 (bug 3837) and the implementation of the
>>> allocate method changed, but that wasn't directly related to freezing.
>>> Perhaps we should just try it and see, but I figured I'd ask if this
>>> was noted / known behavior.
>>> Many thanks,
>>> resin-interest mailing list
>> resin-interest mailing list
>> resin-interest mailing list
> resin-interest mailing list
resin-interest mailing list