You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/11/17 02:46:34 UTC

svn commit: r1202991 - in /hbase/branches/0.89-fb/src: main/java/org/apache/hadoop/hbase/regionserver/ test/java/org/apache/hadoop/hbase/regionserver/

Author: nspiegelberg
Date: Thu Nov 17 01:46:33 2011
New Revision: 1202991

URL: http://svn.apache.org/viewvc?rev=1202991&view=rev
Log:
reverting D355592

Summary: it was not a bug.

Test Plan: added another test to verify that the behavior is OK

Reviewers: liyintang, kannan

Reviewed By: liyintang

CC: hbase-eng@lists, liyintang

Differential Revision: 356369

Modified:
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
    hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
    hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java?rev=1202991&r1=1202990&r2=1202991&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java Thu Nov 17 01:46:33 2011
@@ -186,8 +186,7 @@ public class ScanQueryMatcher {
       (offset - initialOffset) - KeyValue.TIMESTAMP_TYPE_SIZE;
 
     long timestamp = kv.getTimestamp();
-    if (isExpired(timestamp) &&
-        kv.getType() != KeyValue.Type.DeleteFamily.getCode()) {
+    if (isExpired(timestamp)) {
       // done, the rest of this column will also be expired as well.
       return getNextRowOrNextColumn(bytes, offset, qualLength);
     }

Modified: hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java?rev=1202991&r1=1202990&r2=1202991&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java (original)
+++ hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java Thu Nov 17 01:46:33 2011
@@ -273,25 +273,4 @@ public class TestQueryMatcher extends HB
       assertEquals(expected[i], actual.get(i));
     }
   }
-
-  public void testExpiredDeletFamilyMarker() throws IOException {
-    long now = EnvironmentEdgeManager.currentTimeMillis();
-    get = new Get(row1);
-    get.addFamily(fam1);
-    this.scan = new Scan(get);
-
-    // ttl set to 500ms
-    ScanQueryMatcher qm = new ScanQueryMatcher(scan, fam1, null, 500,
-        rowComparator, 1, false);
-    qm.setRow(row1);
-
-    KeyValue kv;
-    // expired Delete Family Marker
-    kv = new KeyValue(row1, fam1, null, now-1000, Type.DeleteFamily, null);
-    assertEquals(ScanQueryMatcher.MatchCode.SKIP, qm.match(kv));
-
-    // not-expired regular KV
-    kv = new KeyValue(row1, fam1, col1, now-100, Type.Put, data);
-    assertEquals(ScanQueryMatcher.MatchCode.INCLUDE, qm.match(kv));
-  }
 }

Modified: hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java?rev=1202991&r1=1202990&r2=1202991&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java (original)
+++ hbase/branches/0.89-fb/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java Thu Nov 17 01:46:33 2011
@@ -472,4 +472,29 @@ public class TestStoreScanner extends Te
           getCols("a"), scanners);
     assertNull(scan.peek());
   }
-}
+
+  public void testExpiredDeleteFamily() throws Exception {
+    long now = System.currentTimeMillis();
+    KeyValue [] kvs = new KeyValue[] {
+        new KeyValue(Bytes.toBytes("R1"), Bytes.toBytes("cf"), null, now-1000,
+            KeyValue.Type.DeleteFamily),
+        KeyValueTestUtil.create("R1", "cf", "a", now-10, KeyValue.Type.Put,
+            "dont-care"),
+    };
+    List<KeyValueScanner> scanners = scanFixture(kvs);
+    Scan scan = new Scan();
+    scan.setMaxVersions(1);
+    // scanner with ttl equal to 500
+    StoreScanner scanner =
+        new StoreScanner(scan, CF, 500, KeyValue.COMPARATOR,
+            null, scanners);
+
+    List<KeyValue> results = new ArrayList<KeyValue>();
+    assertEquals(true, scanner.next(results));
+    assertEquals(1, results.size());
+    assertEquals(kvs[1], results.get(0));
+    results.clear();
+
+    assertEquals(false, scanner.next(results));
+  }
+}
\ No newline at end of file