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

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

{quote}
I worry about whether the hash calculation is well orthogonal with 
HashMap.hash() so that objects are well-distributed among the entries in each 
internal map after the objects are distributed into the internal maps. The new 
calculation seems coming from JDK 1.4.
{quote}
You are right.  The hash calculation from HashMap maybe has orthogonal problem. 
  After one Key dispatch into one map,  the cost is some conflicts when search 
the key in map, but i think it is OK now compared with disk IO.  Even IMO we 
could do hash for key with MOD operations only.  I don't think it is a big 
problem.  wdyt? [~ikeda]


> Race condition in ConcurrentIndex
> ---------------------------------
>
>                 Key: HBASE-14279
>                 URL: https://issues.apache.org/jira/browse/HBASE-14279
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Hiroshi Ikeda
>            Assignee: Heng Chen
>            Priority: Minor
>         Attachments: HBASE-14279.patch, HBASE-14279_v2.patch, 
> HBASE-14279_v3.patch, HBASE-14279_v4.patch, HBASE-14279_v5.patch, 
> HBASE-14279_v5.patch, HBASE-14279_v6.patch, HBASE-14279_v7.1.patch, 
> HBASE-14279_v7.patch, LockStripedBag.java
>
>
> {{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