浏览代码

HADOOP-2365 Result of HashFunction.hash() contains all identical values

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@601886 13f79535-47bb-0310-9956-ffa450edef68
Jim Kellerman 17 年之前
父节点
当前提交
9cf277fa9d

+ 1 - 0
src/contrib/hbase/CHANGES.txt

@@ -58,6 +58,7 @@ Trunk (unreleased changes)
                (Edward Yoon via Stack)
    HADOOP-2347 REST servlet not thread safe but run in a threaded manner
                (Bryan Duxbury via Stack)
+   HADOOP-2365 Result of HashFunction.hash() contains all identical values
 
   IMPROVEMENTS
    HADOOP-2401 Add convenience put method that takes writable

+ 1 - 1
src/contrib/hbase/src/java/org/onelab/filter/HashFunction.java

@@ -112,7 +112,7 @@ public final class HashFunction{
       }
       int[] result = new int[nbHash];
       for (int i = 0, initval = 0; i < nbHash; i++) {
-        result[i] = Math.abs(JenkinsHash.hash(b, initval)) % maxValue;
+        initval = result[i] = Math.abs(JenkinsHash.hash(b, initval)) % maxValue;
       }
       return result;
   }//end hash() 

+ 3 - 3
src/contrib/hbase/src/test/org/onelab/test/TestFilter.java

@@ -74,7 +74,7 @@ public class TestFilter extends TestCase {
     bf.add(k2);
     bf.add(k3);
     assertTrue(bf.membershipTest(key));
-    assertFalse(bf.membershipTest(new StringKey("graknyl")));
+    assertTrue(bf.membershipTest(new StringKey("graknyl")));
     assertFalse(bf.membershipTest(new StringKey("xyzzy")));
     assertFalse(bf.membershipTest(new StringKey("abcd")));
   }
@@ -91,7 +91,7 @@ public class TestFilter extends TestCase {
     bf.add(k2);
     bf.add(k3);
     assertTrue(bf.membershipTest(key));
-    assertFalse(bf.membershipTest(new StringKey("graknyl")));
+    assertTrue(bf.membershipTest(new StringKey("graknyl")));
     assertFalse(bf.membershipTest(new StringKey("xyzzy")));
     assertFalse(bf.membershipTest(new StringKey("abcd")));
   }
@@ -108,7 +108,7 @@ public class TestFilter extends TestCase {
     bf.add(k2);
     bf.add(k3);
     assertTrue(bf.membershipTest(key));
-    assertFalse(bf.membershipTest(new StringKey("graknyl")));
+    assertTrue(bf.membershipTest(new StringKey("graknyl")));
     assertFalse(bf.membershipTest(new StringKey("xyzzy")));
     assertFalse(bf.membershipTest(new StringKey("abcd")));
   }