[ 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)