Author: apurtell
Date: Fri Nov 13 13:10:14 2009
New Revision: 835840

URL: http://svn.apache.org/viewvc?rev=835840&view=rev
Log:
HBASE-1979 MurmurHash does not yield the same results as the reference C++ 
implementation when size % 4 >= 2

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MurmurHash.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=835840&r1=835839&r2=835840&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Fri Nov 13 13:10:14 2009
@@ -111,6 +111,9 @@
                miss the earlier keys on a lookup
                (Schubert Zhang via Stack)
    HBASE-1977  Add ts and allow setting VERSIONS when scanning in shell
+   HBASE-1979  MurmurHash does not yield the same results as the reference C++
+               implementation when size % 4 >= 2 (Olivier Gillet via Andrew
+               Purtell)
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: 
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MurmurHash.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MurmurHash.java?rev=835840&r1=835839&r2=835840&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MurmurHash.java 
(original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MurmurHash.java 
Fri Nov 13 13:10:14 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;


Reply via email to