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

Heng Chen commented on HBASE-14279:
-----------------------------------

yeah...  maybe we can replace {{ConcurrentMap<K, Set<V>> container;}} with 
{{ConcurrentMap<K, Pair<Object, Set<V>>> container;}}

{{Pair.getFirst()}} is Lock for current key.  {{Pair.getSecond()}} is real set.

> Race condition in ConcurrentIndex
> ---------------------------------
>
>                 Key: HBASE-14279
>                 URL: https://issues.apache.org/jira/browse/HBASE-14279
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Hiroshi Ikeda
>            Priority: Minor
>
> {{ConcurrentIndex.put}} and {{remove}} are in race condition. It is possible 
> to remove a non-empty set, and to add a value to a removed set. Also 
> {{ConcurrentIndex.values}} is vague in sense that the returned set sometimes 
> trace the current state and sometimes doesn't.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to