You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/04/16 03:11:03 UTC
svn commit: r934658 - in /hadoop/hbase/branches/0.20_pre_durability:
CHANGES.txt
src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java
src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java
Author: stack
Date: Fri Apr 16 01:11:03 2010
New Revision: 934658
URL: http://svn.apache.org/viewvc?rev=934658&view=rev
Log:
HBASE-2453 Revisit compaction policies after HBASE-2248 commit
Modified:
hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt
hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java
hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java
Modified: hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt?rev=934658&r1=934657&r2=934658&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20_pre_durability/CHANGES.txt Fri Apr 16 01:11:03 2010
@@ -47,6 +47,8 @@ Release 0.20.4 - Thu Apr 15 16:29:44 PDT
HBASE-2439 HBase can get stuck if updates to META are blocked
(Kannan Muthukkaruppan via Stack)
HBASE-2451 .META. by-passes cache; BLOCKCACHE=>'false'
+ HBASE-2453 Revisit compaction policies after HBASE-2248 commit
+ (Jonathan Gray via Stack)
IMPROVEMENTS
HBASE-2180 Bad read performance from synchronizing hfile.fddatainputstream
Modified: hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java?rev=934658&r1=934657&r2=934658&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java (original)
+++ hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java Fri Apr 16 01:11:03 2010
@@ -35,13 +35,11 @@ import org.apache.hadoop.hbase.io.hfile.
public class MinorCompactingStoreScanner implements KeyValueScanner, InternalScanner {
private KeyValueHeap heap;
- private ScanDeleteTracker deleteTracker;
private KeyValue.KVComparator comparator;
MinorCompactingStoreScanner(Store store,
KeyValueScanner [] scanners) {
comparator = store.comparator;
- deleteTracker = new ScanDeleteTracker();
KeyValue firstKv = KeyValue.createFirstOnRow(HConstants.EMPTY_START_ROW);
for (KeyValueScanner scanner : scanners ) {
scanner.seek(firstKv);
@@ -53,7 +51,6 @@ public class MinorCompactingStoreScanner
MinorCompactingStoreScanner(String cfName, KeyValue.KVComparator comparator,
KeyValueScanner [] scanners) {
this.comparator = comparator;
- deleteTracker = new ScanDeleteTracker();
KeyValue firstKv = KeyValue.createFirstOnRow(HConstants.EMPTY_START_ROW);
for (KeyValueScanner scanner : scanners ) {
@@ -89,9 +86,6 @@ public class MinorCompactingStoreScanner
close();
return false;
}
- // between rows.
- deleteTracker.reset();
-
KeyValue kv;
while ((kv = heap.peek()) != null) {
// check to see if this is a different row
@@ -99,27 +93,6 @@ public class MinorCompactingStoreScanner
// reached next row
return true;
}
-
- // if delete type, output no matter what:
- if (kv.getType() != KeyValue.Type.Put.getCode()) {
- deleteTracker.add(kv.getBuffer(),
- kv.getQualifierOffset(),
- kv.getQualifierLength(),
- kv.getTimestamp(),
- kv.getType());
-
- writer.append(heap.next());
- continue;
- }
-
- if (deleteTracker.isDeleted(kv.getBuffer(),
- kv.getQualifierOffset(),
- kv.getQualifierLength(),
- kv.getTimestamp())) {
- heap.next();
- continue;
- }
-
writer.append(heap.next());
}
close();
@@ -133,9 +106,6 @@ public class MinorCompactingStoreScanner
close();
return false;
}
- // between rows.
- deleteTracker.reset();
-
KeyValue kv;
while ((kv = heap.peek()) != null) {
// check to see if this is a different row
@@ -143,27 +113,6 @@ public class MinorCompactingStoreScanner
// reached next row
return true;
}
-
- // if delete type, output no matter what:
- if (kv.getType() != KeyValue.Type.Put.getCode()) {
- deleteTracker.add(kv.getBuffer(),
- kv.getQualifierOffset(),
- kv.getQualifierLength(),
- kv.getTimestamp(),
- kv.getType());
-
- results.add(heap.next());
- continue;
- }
-
- if (deleteTracker.isDeleted(kv.getBuffer(),
- kv.getQualifierOffset(),
- kv.getQualifierLength(),
- kv.getTimestamp())) {
- heap.next();
- continue;
- }
-
results.add(heap.next());
}
close();
Modified: hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java?rev=934658&r1=934657&r2=934658&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java (original)
+++ hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java Fri Apr 16 01:11:03 2010
@@ -52,10 +52,18 @@ public class TestMinorCompactingStoreSca
new MinorCompactingStoreScanner("cf", KeyValue.COMPARATOR, scanners);
List<KeyValue> results = new ArrayList<KeyValue>();
assertTrue(scan.next(results));
- assertEquals(3, results.size());
+ assertEquals(11, results.size());
assertEquals(kvs[0], results.get(0));
- assertEquals(kvs[5], results.get(1));
- assertEquals(kvs[8], results.get(2));
+ assertEquals(kvs[1], results.get(1));
+ assertEquals(kvs[2], results.get(2));
+ assertEquals(kvs[3], results.get(3));
+ assertEquals(kvs[5], results.get(4));
+ assertEquals(kvs[4], results.get(5));
+ assertEquals(kvs[6], results.get(6));
+ assertEquals(kvs[8], results.get(7));
+ assertEquals(kvs[7], results.get(8));
+ assertEquals(kvs[9], results.get(9));
+ assertEquals(kvs[10], results.get(10));
results.clear();
assertFalse(scan.next(results));
@@ -76,8 +84,9 @@ public class TestMinorCompactingStoreSca
new MinorCompactingStoreScanner("cf", KeyValue.COMPARATOR, scanners);
List<KeyValue> results = new ArrayList<KeyValue>();
assertFalse(scan.next(results));
- assertEquals(2, results.size());
+ assertEquals(3, results.size());
assertEquals(kvs[0], results.get(0));
assertEquals(kvs[1], results.get(1));
+ assertEquals(kvs[2], results.get(2));
}
}