You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Mark Thomas (JIRA)" <ji...@apache.org> on 2011/03/23 16:25:05 UTC

[jira] [Commented] (POOL-180) Max active per key can be exceeded by one

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

Mark Thomas commented on POOL-180:
----------------------------------

I think Phil's analysis is correct but the test fails due to a mis-match between WaiterFactory and the pool.
WaiterFactory#maxActive=5 <=> pool#maxTotal =8
WaiterFactory#maxActivePerKey=8 <=> pool#maxActive=5

There are four keys in the test. The pool could have 3 keys each with 2 objects for a total of 6 objects. 6 < 8 (pool#maxTotal) and 2 < 5 (pool#maxActive) so the pool is well within limits. However, 6 !< 5 hence the WaiterFactory throws an error.

With the mismatch corrected, I can't recreate the error but I will fix the issue Phil identified.

> Max active per key can be exceeded by one
> -----------------------------------------
>
>                 Key: POOL-180
>                 URL: https://issues.apache.org/jira/browse/POOL-180
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.5, 1.5.4
>            Reporter: Phil Steitz
>            Priority: Minor
>             Fix For: 1.5.6
>
>         Attachments: maxAcitivePerKeyExceededTest.patch
>
>
> When instances in the pool fail validation with high frequency,  maxTotal is less than maxActive times the number of keys, and destroy has latency,  the maxActive contract can be violated (i.e., the number of instances created under a given key minus the number destroyed can exceed maxActive).
> Attaching a test case that fails against POOL_1_X

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira