diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java index f0c54d6..707927d 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java @@ -183,13 +183,11 @@ final public class FilterList extends Filter { for (int i=0; i < listSize; i++) { Filter filter = filters.get(i); if (this.operator == Operator.MUST_PASS_ALL) { - if (filter.filterAllRemaining() || - filter.filterRowKey(rowKey, offset, length)) { + if (filter.filterRowKey(rowKey, offset, length)) { flag = true; } } else if (this.operator == Operator.MUST_PASS_ONE) { - if (!filter.filterAllRemaining() && - !filter.filterRowKey(rowKey, offset, length)) { + if (!filter.filterRowKey(rowKey, offset, length)) { flag = false; } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java index 4c33338..15bfdf3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java @@ -130,7 +130,8 @@ public class TestFilterList { /* reach MAX_PAGES already, should filter any rows */ rowkey = Bytes.toBytes("yyy"); - assertTrue(filterMPONE.filterRowKey(rowkey, 0, rowkey.length)); + assertTrue(filterMPONE.filterAllRemaining()); + assertFalse(filterMPONE.filterRowKey(rowkey, 0, rowkey.length)); kv = new KeyValue(rowkey, rowkey, Bytes.toBytes(0), Bytes.toBytes(0)); assertFalse(Filter.ReturnCode.INCLUDE == filterMPONE.filterKeyValue(kv)); @@ -138,7 +139,7 @@ public class TestFilterList { /* We should filter any row */ rowkey = Bytes.toBytes("z"); - assertTrue(filterMPONE.filterRowKey(rowkey, 0, rowkey.length)); + assertFalse(filterMPONE.filterRowKey(rowkey, 0, rowkey.length)); assertTrue(filterMPONE.filterAllRemaining()); }