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

Appy commented on HBASE-20151:
------------------------------

Trying to understand the nature of bug more....here's more data.

Interestingly, it only happens when the last two args for SVCF are specified.

Default value for filterIfMissing (first arg) is false and for 
latestVersionOnly (second arg) is true.
{noformat}
hbase(main):006:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0508 seconds hbase(main):007:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
0 row(s)
Took 0.0047 seconds hbase(main):008:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:') AND FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0073 seconds hbase(main):009:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:') AND FamilyFilter(=,'binary:b') 
)"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0057 seconds hbase(main):010:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:', false, true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0098 seconds hbase(main):011:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:', false, true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0068 seconds{noformat}
I won't have time to debug this further, if anyone else want to continue here 
(incrementally, or all the way through)...next steps would be debugging using 
breakpoints  (unless you have great familiarity with filter code).

 

> Bug with SingleColumnValueFilter and FamilyFilter
> -------------------------------------------------
>
>                 Key: HBASE-20151
>                 URL: https://issues.apache.org/jira/browse/HBASE-20151
>             Project: HBase
>          Issue Type: Bug
>         Environment: MacOS 10.13.3
> HBase 1.3.1
>            Reporter: Steven Sadowski
>            Priority: Major
>             Fix For: 2.0.0
>
>
> When running the following queries, the result is sometimes return correctly 
> and other times incorrectly based on the qualifier queried.
> Setup:
> {code:java}
> create 'test', 'a', 'b'
> test = get_table 'test'
> test.put '1', 'a:1', nil
> test.put '1', 'a:10', nil
> test.put '1', 'b:2', nil
> {code}
>  
>  This query works fine when the SCVF's qualifier has length 1 (i.e. '1') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW                                       COLUMN+CELL
>  1                                        column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0060 seconds
> {code}
>  
> The query should return the same result when passed a qualifier of length 2 
> (i.e. '10') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW                                       COLUMN+CELL
> 0 row(s) in 0.0110 seconds
> {code}
> However, in this case, it does not return any row (expected result would be 
> to return the same result as the first query).
>  
> Removing the family filter while the qualifier is '10' yields expected 
> results:
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) )"})
> ROW                                       COLUMN+CELL
>  1                                        column=a:1, 
> timestamp=1520455887954, value=
>  1                                        column=a:10, 
> timestamp=1520455888024, value=
>  1                                        column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0140 seconds
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to