I once had a library that allocated 2 connections to complete a
transaction. Every now and then we'd deadlock the pool if number of
concurrent transactions > pool size, which could happen in load
bursts. If you do a thread dump of your process and see "all" threads
are waiting for a connection this is most probably happening. The
non-solution solution is to increase pool size, the real solution was
never to allocate 2 connections to complete a transaction.

Kristian


2015-04-12 11:58 GMT+02:00 Shawn Heisey <[email protected]>:
> On 4/11/2015 8:48 AM, Phil Steitz wrote:
>> What is going on in that thread is that it is blocked waiting for a
>> connection to become available in the pool.  There is no evidence of
>> deadlock there - just pool exhaustion.
>>
>> The most likely culprit is application code that is failing to close
>> connections that have been borrowed from the pool.  If you don't
>> close the connections on all execution paths, they will "leak" as
>> the pool has no way of knowing that your code is finished with them
>> unless and until you close them.
>
> I've done a review of all my database code for leaks in the past, and
> everything looked good at that time.  I can repeat that check.  The
> database portions of my code have not had any changes for quite some time.
>
> Would I see evidence of a connection leak in the "show full processlist"
> output at the MySQL server?  I don't see that happening.  There are only
> a handful of open connections when I check there, even when the program
> has been running for several days or weeks, running through its cycle
> once a minute.  Once all parts of the program have been run at least
> once, the connection count is stable.
>
> Thanks,
> Shawn
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to