[ https://issues.apache.org/jira/browse/HBASE-14279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15070375#comment-15070375 ]
Hiroshi Ikeda commented on HBASE-14279: --------------------------------------- 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. As for the variant of single-word Wang/Jenkins hash, in http://gee.cs.oswego.edu/dl/concurrency-interest/index.html {quote} Sources for all classes originated by the JSR166 group are released to the public domain, as described at http://creativecommons.org/licenses/publicdomain. This includes all code in java.util.concurrent and its subpackages (except CopyOnWriteArrayList), ... {quote} and Doug Lea introduced the hash calculation code at the revision 1.93 in his repository: http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/ConcurrentHashMap.java?revision=1.93 > 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)