From fe66233cfa04efe581b023fe11e98cba33f7c77c Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Tue, 23 Jun 2009 16:19:36 +0000 Subject: [PATCH] HBASE-1568 Client doesnt consult old row filter interface in filterSaysStop() - could result in NPE or excessive scanning git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@787742 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 2 ++ src/java/org/apache/hadoop/hbase/client/HTable.java | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index dd55ec32502..deb2f4b76e9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -216,6 +216,8 @@ Release 0.20.0 - Unreleased 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 diff --git a/src/java/org/apache/hadoop/hbase/client/HTable.java b/src/java/org/apache/hadoop/hbase/client/HTable.java index 5ad42e78b8c..01f77219fa2 100644 --- a/src/java/org/apache/hadoop/hbase/client/HTable.java +++ b/src/java/org/apache/hadoop/hbase/client/HTable.java @@ -1866,9 +1866,16 @@ public class HTable { 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 {