Author: stack
Date: Sat Jan 24 07:21:41 2009
New Revision: 737313

URL: http://svn.apache.org/viewvc?rev=737313&view=rev
Log:
HADOOP-5079  HashFunction inadvertently destroys some randomness

Modified:
    hadoop/core/branches/branch-0.20/CHANGES.txt
    
hadoop/core/branches/branch-0.20/src/core/org/apache/hadoop/util/bloom/HashFunction.java

Modified: hadoop/core/branches/branch-0.20/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/CHANGES.txt?rev=737313&r1=737312&r2=737313&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.20/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.20/CHANGES.txt Sat Jan 24 07:21:41 2009
@@ -571,6 +571,9 @@
     HADOOP-4671. Mark loop control variables shared between threads as
     volatile. (cdouglas)
 
+    HADOOP-5079. HashFunction inadvertently destroys some randomness
+    (Jonathan Ellis via stack)
+
 Release 0.19.1 - Unreleased
 
   IMPROVEMENTS

Modified: 
hadoop/core/branches/branch-0.20/src/core/org/apache/hadoop/util/bloom/HashFunction.java
URL: 
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.20/src/core/org/apache/hadoop/util/bloom/HashFunction.java?rev=737313&r1=737312&r2=737313&view=diff
==============================================================================
--- 
hadoop/core/branches/branch-0.20/src/core/org/apache/hadoop/util/bloom/HashFunction.java
 (original)
+++ 
hadoop/core/branches/branch-0.20/src/core/org/apache/hadoop/util/bloom/HashFunction.java
 Sat Jan 24 07:21:41 2009
@@ -111,7 +111,8 @@
       }
       int[] result = new int[nbHash];
       for (int i = 0, initval = 0; i < nbHash; i++) {
-        initval = result[i] = Math.abs(hashFunction.hash(b, initval) % 
maxValue);
+         initval = hashFunction.hash(b, initval);
+         result[i] = Math.abs(initval) % maxValue;
       }
       return result;
   }


Reply via email to