hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Watson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16356) REST API scanner: row prefix filter and custom filter parameter are mutually exclusive
Date Fri, 17 Mar 2017 16:59:42 GMT

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

Ben Watson commented on HBASE-16356:

I have a patch for this ticket. I presume I need to be added as the Assignee to be able to
submit it, so please could someone add me?

> REST API scanner: row prefix filter and custom filter parameter are mutually exclusive
> --------------------------------------------------------------------------------------
>                 Key: HBASE-16356
>                 URL: https://issues.apache.org/jira/browse/HBASE-16356
>             Project: HBase
>          Issue Type: Bug
>          Components: REST
>    Affects Versions: 1.1.2
>         Environment: Not environment specific (tested on HDP 2.4.2)
>            Reporter: Bjorn Olsen
>            Priority: Minor
> A user can optionally specify a row PrefixFilter, or a list of custom filters, to the
REST API scanner.
> Prefix filter example: 
> <API>/123*?startrow=0&endrow=9
> Custom filters example: 
> <API>/*?startrow=0&endrow=9&filter=RowFilter(=,'substring:456)
> This works when specified separately, like above. 
> However, specifying both a prefix filter and a list of custom filters causes the API
to ignore the prefix filter.
> Example using both parameters:
> <API>/123*?startrow=0&endrow=9&filter=RowFilter(=,'substring:456)
> It appears that code in the TableResource.getScanResource function is causing this issue
as follows:
> (see https://hbase.apache.org/devapidocs/src-html/org/apache/hadoop/hbase/rest/TableResource.html#line.196
> if (filterList != null) {
>   tableScan.setFilter(filterList); /*comes from custom filters parameter*/
> } else if (filter != null) {
>   tableScan.setFilter(filter);
>   /*comes from row prefix parameter*/
> }
> This should probably be changed to use a single filterList for both parameters. The prefix
filter can be "Popped" onto the filter list and then these parameters will work even when
both are specified.

This message was sent by Atlassian JIRA

View raw message