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));
   }
 }