Jinghui Wang created HADOOP-11221:
-------------------------------------

             Summary: JAVA specification for hashcode does not enforce it to be 
non-negative, but IdentityHashStore assumes System.identityHashCode() is 
non-negative
                 Key: HADOOP-11221
                 URL: https://issues.apache.org/jira/browse/HADOOP-11221
             Project: Hadoop Common
          Issue Type: Bug
          Components: util
    Affects Versions: 2.4.1
            Reporter: Jinghui Wang
            Assignee: Jinghui Wang


The following code snippet shows that IdentityHashStore assumes the hashCode is 
always non-negative.

{code:title=Bar.java|borderStyle=solid}
   private void putInternal(Object k, Object v) {
     int hash = System.identityHashCode(k);
     final int numEntries = buffer.length / 2;
     int index = hash % numEntries;
         ...
   }
   
        private int getElementIndex(K k) {
     ...
     final int numEntries = buffer.length / 2;
     int hash = System.identityHashCode(k);
     int index = hash % numEntries;
     int firstIndex = index;
         ...
        }
{code}



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

Reply via email to