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;
}