[ https://issues.apache.org/jira/browse/POOL-202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Thomas resolved POOL-202. ------------------------------ Resolution: Fixed Fixed by moving to startEvictor. Also aligned GOP with GKOP. > GenericKeyedObjectPool.close() can interfere with evict(); > eviction[Key]Iterator is not consistently synched. > ------------------------------------------------------------------------------------------------------------- > > Key: POOL-202 > URL: https://issues.apache.org/jira/browse/POOL-202 > Project: Commons Pool > Issue Type: Bug > Affects Versions: 2.0 > Reporter: Sebb > > As far as I can tell, calling close during an evict() run can cause problems, > because close() sets the eviction[Key]Iterator fields to null. > I suspect close() and evict() should be mutually exclusive. > Maybe close does not need to nullify the eviction[Key]Iterator fields, but > there's probably other mutually incompatible behaviour. > Or maybe the fields should be nulled in startEvictor. > Also, the fields eviction[Key]Iterator aren't volatile and aren't always > accessed under the same lock so might not be safely published. > That would be solved by moving the nulling to startEvictor. -- 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