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 2009/10/15 01:13:19 UTC

svn commit: r825334 - in /hadoop/hbase/trunk/src: java/org/apache/hadoop/hbase/regionserver/ test/org/apache/hadoop/hbase/filter/ test/org/apache/hadoop/hbase/regionserver/

Author: stack
Date: Wed Oct 14 23:13:18 2009
New Revision: 825334

URL: http://svn.apache.org/viewvc?rev=825334&view=rev
Log:
HBASE-1906 fixup for broken build

Modified:
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/filter/TestFilter.java
    hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestScanner.java

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=825334&r1=825333&r2=825334&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java Wed Oct 14 23:13:18 2009
@@ -1751,8 +1751,7 @@
         boolean samerow = Bytes.equals(currentRow, row);
         if (samerow && filterCurrentRow) {
           // Filter all columns until row changes
-          this.storeHeap.next(this.results);
-          this.results.clear();
+          readAndDumpCurrentResult();
           continue;
         }
         if (!samerow) {
@@ -1769,14 +1768,21 @@
         }
         // See if current row should be filtered based on row key
         if (this.filter != null && this.filter.filterRowKey(row, 0, row.length)) {
+          readAndDumpCurrentResult();
           resetFilters();
           filterCurrentRow = true;
           currentRow = row;
+          continue;
         }
         this.storeHeap.next(results);
       }
     }
 
+    private void readAndDumpCurrentResult() throws IOException {
+      this.storeHeap.next(this.results);
+      this.results.clear();
+    }
+
     /*
      * Do we have results to return or should we continue.  Call when we get to
      * the end of a row.  Does house cleaning -- clearing results and resetting
@@ -1787,7 +1793,7 @@
       if (this.results.isEmpty() ||
           this.filter != null && this.filter.filterRow()) {
         // Make sure results is empty, reset filters
-        results.clear();
+        this.results.clear();
         resetFilters();
         return false;
       }

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=825334&r1=825333&r2=825334&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Wed Oct 14 23:13:18 2009
@@ -1883,10 +1883,10 @@
         // Collect values to be returned here
         List<KeyValue> values = new ArrayList<KeyValue>();
         boolean moreRows = s.next(values);
-        if(!values.isEmpty()) {
+        if (!values.isEmpty()) {
           results.add(new Result(values));
         }
-        if(!moreRows) {
+        if (!moreRows) {
           break;
         }
       }

Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/filter/TestFilter.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/filter/TestFilter.java?rev=825334&r1=825333&r2=825334&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/filter/TestFilter.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/filter/TestFilter.java Wed Oct 14 23:13:18 2009
@@ -145,7 +145,6 @@
   }
 
   public void testNoFilter() throws Exception {
-    
     // No filter
     long expectedRows = this.numRows;
     long expectedKeys = this.colsPerRow;
@@ -161,17 +160,12 @@
   }
   
   public void testPrefixFilter() throws Exception {
-    
     // Grab rows from group one (half of total)
-    
     long expectedRows = this.numRows / 2;
     long expectedKeys = this.colsPerRow;
-    
     Scan s = new Scan();
     s.setFilter(new PrefixFilter(Bytes.toBytes("testRowOne")));
-
     verifyScan(s, expectedRows, expectedKeys);
-    
   }
   
   public void testPageFilter() throws Exception {
@@ -931,6 +925,7 @@
       Arrays.sort(results.toArray(new KeyValue[results.size()]),
           KeyValue.COMPARATOR);
       LOG.info("counter=" + i + ", " + results);
+      if (results.isEmpty()) break;
       assertTrue("Scanned too many rows! Only expected " + expectedRows + 
           " total but already scanned " + (i+1), expectedRows > i);
       assertEquals("Expected " + expectedKeys + " keys per row but " +

Modified: hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestScanner.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestScanner.java?rev=825334&r1=825333&r2=825334&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestScanner.java (original)
+++ hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestScanner.java Wed Oct 14 23:13:18 2009
@@ -180,7 +180,6 @@
       Filter newFilter = new PrefixFilter(prefix);
       Scan scan = new Scan();
       scan.setFilter(newFilter);
-      scan.setStartRow(prefix);
       rowPrefixFilter(scan);
       
       byte[] stopRow = Bytes.toBytes("bbc");