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 2014/12/31 17:29:13 UTC
[jira] [Closed] (POOL-199) GOP/GKOP evict() method is not
synchronised and is not thread-safe
[ https://issues.apache.org/jira/browse/POOL-199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz closed POOL-199.
----------------------------
> GOP/GKOP evict() method is not synchronised and is not thread-safe
> ------------------------------------------------------------------
>
> Key: POOL-199
> URL: https://issues.apache.org/jira/browse/POOL-199
> Project: Commons Pool
> Issue Type: Bug
> Affects Versions: 2.0
> Reporter: Sebb
> Fix For: 2.0
>
>
> The evict() method in Pool2 GOP/GKOP classes is not synchronised, yet it relies on accessing and updating the field evictionIterator without any synchronisation.
> Adding volatile to the field would help with safe publication across threads, but won't address the problem of two evictions running in parallel.
> AFAICT, two threads running evict() in parallel could operate on the same objects, which will almost certainly cause problems.
> The evict() method should probably be synchronised, which would also solve the safe publication problem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)