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