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/06/23 18:19:36 UTC

svn commit: r787742 - in /hadoop/hbase/trunk: CHANGES.txt src/java/org/apache/hadoop/hbase/client/HTable.java

Author: stack
Date: Tue Jun 23 16:19:36 2009
New Revision: 787742

URL: http://svn.apache.org/viewvc?rev=787742&view=rev
Log:
HBASE-1568 Client doesnt consult old row filter interface in filterSaysStop() - could result in NPE or excessive scanning

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=787742&r1=787741&r2=787742&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue Jun 23 16:19:36 2009
@@ -216,6 +216,8 @@
                that into 'now'
    HBASE-1508  Shell "close_region" reveals a Master<>HRS problem, regions are
                not reassigned
+   HBASE-1568  Client doesnt consult old row filter interface in
+               filterSaysStop() - could result in NPE or excessive scanning
 
   IMPROVEMENTS
    HBASE-1089  Add count of regions on filesystem to master UI; add percentage

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java?rev=787742&r1=787741&r2=787742&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java Tue Jun 23 16:19:36 2009
@@ -1866,9 +1866,16 @@
       if(!scan.hasFilter()) {
         return false;
       }
-      // Let the filter see current row.
-      scan.getFilter().filterRowKey(endKey, 0, endKey.length);
-      return scan.getFilter().filterAllRemaining();
+      if (scan.getFilter() != null) {
+        // Let the filter see current row.
+        scan.getFilter().filterRowKey(endKey, 0, endKey.length);
+        return scan.getFilter().filterAllRemaining();
+      }
+      if (scan.getOldFilter() != null) {
+        scan.getOldFilter().filterRowKey(endKey, 0, endKey.length);
+        return scan.getOldFilter().filterAllRemaining();
+      }
+      return false; //unlikely.
     }
 
     public Result next() throws IOException {