[ 
https://issues.apache.org/jira/browse/HBASE-20151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steven Sadowski updated HBASE-20151:
------------------------------------
    Description: 
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}
 

 

  was:
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}
 

 


> 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
>
> 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