Index: src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java =================================================================== --- src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java (revision 934594) +++ src/test/org/apache/hadoop/hbase/regionserver/TestMinorCompactingStoreScanner.java (working copy) @@ -52,10 +52,18 @@ new MinorCompactingStoreScanner("cf", KeyValue.COMPARATOR, scanners); List results = new ArrayList(); 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 @@ new MinorCompactingStoreScanner("cf", KeyValue.COMPARATOR, scanners); List results = new ArrayList(); 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)); } } Index: src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java =================================================================== --- src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java (revision 934594) +++ src/java/org/apache/hadoop/hbase/regionserver/MinorCompactingStoreScanner.java (working copy) @@ -35,13 +35,11 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 @@ // 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();