[
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