[ 
https://issues.apache.org/jira/browse/POOL-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12719061#action_12719061
 ] 

Phil Steitz commented on POOL-144:
----------------------------------

Looking at the patch again and the same pattern in case WHEN_EXHAUSTED_FAIL,  I 
am concerned that while the exception-generating thread waits to acquires the 
lock on the pool to remove the latch, another thread could sneak in and do 
something (e.g. return and object) that triggers an allocate, which will leak 
an object onto the soon-to-be-abandoned latch.

> Maxwait exceeded causes pool capacity leak
> ------------------------------------------
>
>                 Key: POOL-144
>                 URL: https://issues.apache.org/jira/browse/POOL-144
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.5
>            Reporter: Phil Steitz
>             Fix For: 1.5.1
>
>         Attachments: latch_leak.patch
>
>
> When exhausted action is set to WHEN_EXHAUSTED_BLOCK, maxwait is positive and 
> client threads time out waiting for idle objects, capacity can be "leaked" 
> from GenericObjectPools and GeneritCkeyedObjectPools.
> Test case and patch for GOP attached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to