[ 
https://issues.apache.org/jira/browse/POOL-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Thomas resolved POOL-212.
------------------------------

    Resolution: Fixed

Fixed in all current development lines.
                
> GenericObjectPool allows maxIdle < minIdle
> ------------------------------------------
>
>                 Key: POOL-212
>                 URL: https://issues.apache.org/jira/browse/POOL-212
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Sergejs Melderis
>            Priority: Minor
>             Fix For: 1.6.1, 2.0, 1.5.8
>
>
> GenericObjectPool allows any values for minIdle and maxIdle, and performs no 
> validation on those values.
> It allows maxIdle to be less than minIdle, and that creates weird behavior 
> during eviction.
> After each eviction the Evictor thread calls ensureMinIdle() method which 
> adds objects the pool using addObjectToPool() to make sure there at least 
> minIdle objects in the pool.addObjectToPool() on another hand makes sure that 
> there no more then maxIdle objects in the pool, and immediately destroys the 
> newly created object.
> In my application we had minIdle configured to 100, but maxIdle wasn't 
> configured and  used the default value which is 8, and each eviction would 
> create and destroy a bunch of objects. 
> This issue can be fixed by adding checks in setMinIdle and setMaxIdle, or by 
> adding maxIdle variable to the formula used in calculateDevicit() method.
> We use version 1.4, but I also tested it on latest 1.6 and observed the same 
> behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to