Repository: hadoop
Updated Branches:
  refs/heads/trunk 077fa529e -> aac260faa


HADOOP-10555. Add offset support to MurmurHash. Contributed by Sergey Shelukhin.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/aac260fa
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/aac260fa
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/aac260fa

Branch: refs/heads/trunk
Commit: aac260faa15d69218f179b6475607fc63af31a53
Parents: 077fa52
Author: Haohui Mai <[email protected]>
Authored: Sun Nov 22 18:00:29 2015 -0800
Committer: Haohui Mai <[email protected]>
Committed: Sun Nov 22 18:00:29 2015 -0800

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt             | 3 +++
 .../main/java/org/apache/hadoop/util/hash/MurmurHash.java   | 9 +++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/aac260fa/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index c511c66..08c7ae8 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -975,6 +975,9 @@ Release 2.8.0 - UNRELEASED
 
     HADOOP-10035. Cleanup TestFilterFileSystem. (Suresh Srinivas via wheat9)
 
+    HADOOP-10555. Add offset support to MurmurHash.
+    (Sergey Shelukhin via wheat9)
+
   OPTIMIZATIONS
 
     HADOOP-11785. Reduce the number of listStatus operation in distcp

http://git-wip-us.apache.org/repos/asf/hadoop/blob/aac260fa/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash/MurmurHash.java
----------------------------------------------------------------------
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash/MurmurHash.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash/MurmurHash.java
index 6ed3dfd..a5fc463 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash/MurmurHash.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/hash/MurmurHash.java
@@ -36,9 +36,13 @@ public class MurmurHash extends Hash {
   public static Hash getInstance() {
     return _instance;
   }
-  
+
   @Override
   public int hash(byte[] data, int length, int seed) {
+    return hash(data, 0, length, seed);
+  }
+
+  public int hash(byte[] data, int offset, int length, int seed) {
     int m = 0x5bd1e995;
     int r = 24;
 
@@ -47,7 +51,7 @@ public class MurmurHash extends Hash {
     int len_4 = length >> 2;
 
     for (int i = 0; i < len_4; i++) {
-      int i_4 = i << 2;
+      int i_4 = offset + (i << 2);
       int k = data[i_4 + 3];
       k = k << 8;
       k = k | (data[i_4 + 2] & 0xff);
@@ -67,6 +71,7 @@ public class MurmurHash extends Hash {
     int left = length - len_m;
 
     if (left != 0) {
+      length += offset;
       if (left >= 3) {
         h ^= (int) data[length - 3] << 16;
       }

Reply via email to