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 2008/04/16 21:23:44 UTC

svn commit: r648798 - in /hadoop/hbase: branches/0.1/CHANGES.txt branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java trunk/CHANGES.txt trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Author: stack
Date: Wed Apr 16 12:23:41 2008
New Revision: 648798

URL: http://svn.apache.org/viewvc?rev=648798&view=rev
Log:
HBASE-582  HBase 554 forgot to clear results on each iteration caused by a filter

Modified:
    hadoop/hbase/branches/0.1/CHANGES.txt
    hadoop/hbase/branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hadoop/hbase/branches/0.1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.1/CHANGES.txt?rev=648798&r1=648797&r2=648798&view=diff
==============================================================================
--- hadoop/hbase/branches/0.1/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.1/CHANGES.txt Wed Apr 16 12:23:41 2008
@@ -12,6 +12,8 @@
                createLease()"
    HBASE-575   master dies with stack overflow error if rootdir isn't qualified
    HBASE-500   Regionserver stuck on exit
+   HBASE-582   HBase 554 forgot to clear results on each iteration caused by a filter
+               (Clint Morgan via Stack)
 
   IMPROVEMENTS
    HBASE-559   MR example job to count table rows

Modified: hadoop/hbase/branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java?rev=648798&r1=648797&r2=648798&view=diff
==============================================================================
--- hadoop/hbase/branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java (original)
+++ hadoop/hbase/branches/0.1/src/java/org/apache/hadoop/hbase/HRegion.java Wed Apr 16 12:23:41 2008
@@ -1796,6 +1796,7 @@
     public boolean next(HStoreKey key, SortedMap<Text, byte[]> results)
     throws IOException {
       boolean moreToFollow = false;
+      boolean filtered = false;
 
       do {
         // Find the lowest-possible key.
@@ -1858,7 +1859,13 @@
           // If we got no results, then there is no more to follow.
           moreToFollow = false;
         }
-      } while(filter != null && filter.filterNotNull(results) && moreToFollow);
+        
+        filtered = filter == null ? false : filter.filterNotNull(results);
+        
+        if (filtered && moreToFollow) {
+          results.clear();
+        }
+      } while(filtered && moreToFollow);
 
       // Make sure scanners closed if no more results
       if (!moreToFollow) {

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=648798&r1=648797&r2=648798&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Apr 16 12:23:41 2008
@@ -7,6 +7,8 @@
    HBASE-12    When hbase regionserver restarts, it says "impossible state for
                createLease()"
    HBASE-575   master dies with stack overflow error if rootdir isn't qualified
+   HBASE-582   HBase 554 forgot to clear results on each iteration caused by a filter
+               (Clint Morgan via Stack)
 
   IMPROVEMENTS
    HBASE-559   MR example job to count table rows

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=648798&r1=648797&r2=648798&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 Apr 16 12:23:41 2008
@@ -1742,6 +1742,7 @@
     public boolean next(HStoreKey key, SortedMap<Text, byte[]> results)
     throws IOException {
       boolean moreToFollow = false;
+      boolean filtered = false;
 
       do {
         // Find the lowest-possible key.
@@ -1804,7 +1805,13 @@
           // If we got no results, then there is no more to follow.
           moreToFollow = false;
         }
-      } while(filter != null && filter.filterNotNull(results) && moreToFollow);
+        
+        filtered = filter == null ? false : filter.filterNotNull(results);
+        
+        if (filtered && moreToFollow) {
+          results.clear();
+        }
+      } while(filtered && moreToFollow);
 
       // Make sure scanners closed if no more results
       if (!moreToFollow) {