[ 
https://issues.apache.org/jira/browse/HBASE-7326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15952486#comment-15952486
 ] 

Chia-Ping Tsai commented on HBASE-7326:
---------------------------------------

SortedCopyOnWriteSet had been removed in 2.0.0 (see HBASE-17809). We should 
close this jira.

> SortedCopyOnWriteSet is not thread safe due to leaked TreeSet implementations
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-7326
>                 URL: https://issues.apache.org/jira/browse/HBASE-7326
>             Project: HBase
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.92.2, 0.94.3, 0.95.2
>            Reporter: Gary Helmling
>
> The SortedCopyOnWriteSet implementation uses an internal TreeSet that is 
> copied and replaced on mutation operations.  However, in a few areas, 
> SortedCopyOnWriteSet leaks references to the underlying TreeSet 
> implementations, allowing for unsafe usage:
> * iterator()
> * subSet()
> * headSet()
> * tailSet()
> For Iterator.remove(), we can wrap in an implementation that throws 
> UnsupportedOperationException.  For the sub set methods, we could return new 
> SortedCopyOnWriteSet instances (which would not modify the parent set), or 
> wrap with a new sub set implementation that safely allows modification of the 
> parent set.
> To be clear, the current usage of SortedCopyOnWriteSet does not make use of 
> any of these non-thread-safe methods, but the implementation should be fixed 
> to be completely thread safe and prevent any new issues.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to