[
https://issues.apache.org/jira/browse/HBASE-7326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13529178#comment-13529178
]
Ted Yu commented on HBASE-7326:
-------------------------------
TestSortedCopyOnWriteSet uses single thread in its tests.
We should enhance the test with multiple threads so that we can be confident
the fix in this JIRA is effective.
> 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.96.0
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira