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

Ben Watson edited comment on HBASE-16356 at 5/10/17 9:46 AM:
-------------------------------------------------------------

[~yuzhih...@gmail.com] I've added {{TableResource-HBASE-16356-branch-1.patch}}.


was (Author: benwatson528):
The patch to be applied to branch-1.

> REST API scanner: row prefix filter and custom filter parameters 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
>            Assignee: Ben Watson
>            Priority: Minor
>             Fix For: 2.0.0, 1.4.0
>
>         Attachments: TableResource-HBASE-16356-branch-1.patch, 
> TableResource-HBASE-16356.patch
>
>
> 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
(v6.3.15#6346)

Reply via email to