You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2008/01/07 03:40:34 UTC

[jira] Resolved: (POOL-120) maxActive can be exceeded by one

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

Phil Steitz resolved POOL-120.
------------------------------

    Resolution: Fixed

Fixed in r609487 by restoring synchronization to addObject.   

> maxActive can be exceeded by one
> --------------------------------
>
>                 Key: POOL-120
>                 URL: https://issues.apache.org/jira/browse/POOL-120
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.2
>            Reporter: Phil Steitz
>            Priority: Blocker
>             Fix For: 1.4
>
>
> For GenericObjectPool, when numIdle > 0 and the idle object evictor is set to run (timeBetweenEvictionRunsMillis > 0), a race condition can occur between the Evictor and a borrowing thread, wherein the Evictor initiates a makeObject in ensureMinIdle and before the newly created object is placed in the pool, the borrowing thread initiates another makeObject that makes the number of instances in circulation = maxActive + 1.   
> This issue does not affect pool 1.3, since addObject is syncrhonized in that version.  It does affect 1.4-RC1 (unreleased snapshot) and the code currently in the 1.4 release branch.

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