Sebb created POOL-215:
-------------------------
Summary: 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
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)
Note that where the same fields appear in GOP, they are protected (apart from
evictionPolicy, see POOL-214)
timeBetweenEvictionRunsMillis is not thread-safe, but does not appear to be
used.
--
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