[
https://issues.apache.org/jira/browse/POOL-215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phil Steitz closed POOL-215.
----------------------------
> GenericKeyedObjectPool - multiple mutable fields not published safely
> ---------------------------------------------------------------------
>
> Key: POOL-215
> URL: https://issues.apache.org/jira/browse/POOL-215
> Project: Commons Pool
> Issue Type: Bug
> Reporter: Sebb
> Fix For: 2.0
>
>
> The GenericKeyedObjectPool has multiple mutable instance fields that are
> neither volatile nor protected by syncronisation.
> This means that updates by one thread may not be seen by other threads.
> The following fields should either be made volatile, or be protected by a
> lock.
> The lock is more suitable if the main usage is already protected by a lock.
> blockWhenExhausted
> evictionPolicy (getter and setter should use evictionLock)
> lifo
> maxIdlePerKey
> maxTotal
> maxTotalPerKey
> maxWait
> minEvictableIdleTimeMillis (getter and setter should use evictionLock)
> numTestsPerEvictionRun (getter and setter should use evictionLock)
> testWhileIdle (getter and setter should use evictionLock)
> timeBetweenEvictionRunsMillis (getter and setter should use evictionLock)
> Note that where the same fields appear in GOP, they are protected (apart from
> evictionPolicy, see POOL-214)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)