Author: stack
Date: Tue Nov 24 19:29:25 2009
New Revision: 883829
URL: http://svn.apache.org/viewvc?rev=883829&view=rev
Log:
HBASE-1979 MurmurHash does not yield the same results as the reference C++
implementation when size % 4 >= 2
Modified:
hadoop/hbase/branches/0.20/CHANGES.txt
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/MurmurHash.java
Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=883829&r1=883828&r2=883829&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Tue Nov 24 19:29:25 2009
@@ -7,6 +7,8 @@
HBASE-1999 When HTable goes away, close zk session in shutdown hook or
something...
HBASE-1997 zk tick time bounds maximum zk session time
+ HBASE-1979 MurmurHash does not yield the same results as the reference
+ C++ implementation when size % 4 >= 2 (Olivier Gillet via Stack)
IMPROVEMENTS
Modified:
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/MurmurHash.java
URL:
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/MurmurHash.java?rev=883829&r1=883828&r2=883829&view=diff
==============================================================================
---
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/MurmurHash.java
(original)
+++
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/util/MurmurHash.java
Tue Nov 24 19:29:25 2009
@@ -63,13 +63,13 @@
if (left != 0) {
if (left >= 3) {
- h ^= data[length - 3] << 16;
+ h ^= data[len_m + 2] << 16;
}
if (left >= 2) {
- h ^= data[length - 2] << 8;
+ h ^= data[len_m + 1] << 8;
}
if (left >= 1) {
- h ^= data[length - 1];
+ h ^= data[len_m];
}
h *= m;