Apache9 commented on code in PR #5955:
URL: https://github.com/apache/hbase/pull/5955#discussion_r1623234979


##########
hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java:
##########
@@ -206,17 +242,23 @@ public boolean filterRowKey(Cell firstRowCell) throws 
IOException {
     if (isEmpty()) {
       return super.filterRowKey(firstRowCell);
     }
-    boolean retVal = false;
+    boolean anyFiltered = false;
+    boolean anyHintingPassed = false;
     for (int i = 0, n = filters.size(); i < n; i++) {
       Filter filter = filters.get(i);
       if (filter.filterAllRemaining() || filter.filterRowKey(firstRowCell)) {
         // Can't just return true here, because there are some filters (such 
as PrefixFilter) which
         // will catch the row changed event by filterRowKey(). If we return 
early here, those
         // filters will have no chance to update their row state.
-        retVal = true;
+        anyFiltered = true;
+      } else if (hintingFilters[i]) {
+        // If any of the hinting filters has returned false, then we must not 
filter this rowkey.

Review Comment:
   I think hintingFilters being true only means it is a HintingFilter, does not 
mean it has returned false?



##########
hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterListWithAND.java:
##########
@@ -184,9 +205,20 @@ public ReturnCode filterCell(Cell c) throws IOException {
       // otherwise we may mess up the global state (such as offset, count..) 
in the following
       // sub-filters. (HBASE-20565)
       if (!isIncludeRelatedReturnCode(rc)) {
-        return rc;
+        i++;

Review Comment:
   Let's speak more here? It is not easy for a developer without the context of 
this issue here to understand, and please also mention the issue number.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to