[ 
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

Reply via email to