HashFunction inadvertently destroys some randomness
---------------------------------------------------
Key: HBASE-1136
URL: https://issues.apache.org/jira/browse/HBASE-1136
Project: Hadoop HBase
Issue Type: Bug
Reporter: Jonathan Ellis
the code
for (int i = 0, initval = 0; i < nbHash; i++) {
initval = result[i] = Math.abs(hashFunction.hash(b, initval) %
maxValue);
}
restricts initval for the next hash to the [0, maxValue) range of the hash
indexes returned. This is suboptimal, particularly for larger nbHash and
smaller maxValue. Instead, use:
for (int i = 0, initval = 0; i < nbHash; i++) {
initval = hashFunction.hash(b, initval);
result[i] = Math.abs(initval) % maxValue;
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.