[ 
https://issues.apache.org/jira/browse/HBASE-11093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13984245#comment-13984245
 ] 

Ted Yu commented on HBASE-11093:
--------------------------------

w.r.t. Anoop's suggestion, in HRegion, filterRowCells() call is guarded by 
hasFilterRow() :
{code}
            if (filter != null && filter.hasFilterRow()) {
              filter.filterRowCells(results);
            }
{code}
{code}
          if (filter != null && filter.hasFilterRow()) {
            ret = filter.filterRowCellsWithRet(results);
          }
{code}
HRegion doesn't call filterRow(List). In fact, see the following in 
FilterWrapper:
{code}
  public void filterRow(List<KeyValue> kvs) throws IOException {
    // This is only used internally, marked InterfaceAudience.private, and not 
used anywhere.
    // We can get away with not implementing this.
    throw new UnsupportedOperationException("filterRow(List<KeyValue>) should 
never be called");
  }
{code}

> FilterList#filterRow() iterates through its filters even though 
> FilterList#hasFilterRow() returns false
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-11093
>                 URL: https://issues.apache.org/jira/browse/HBASE-11093
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Minor
>         Attachments: 11093-v1.txt, 11093-v2.txt
>
>
> FilterList#hasFilterRow() returns false when hasFilterRow() of all of 
> constituent filters return false.
> However, FilterList#filterRow() still iterates through its filters in this 
> scenario.
> The iteration should be skipped when FilterList#hasFilterRow() returns false.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to