[
https://issues.apache.org/jira/browse/HBASE-20151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404061#comment-16404061
]
Reid Chan commented on HBASE-20151:
-----------------------------------
After patch,
{code}
hbase(main):006:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','1',=,'binary:',true,true) AND
FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0644 seconds
hbase(main):007:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','1',=,'binary:',false,true) AND
FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0085 seconds
hbase(main):008:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','10',=,'binary:',true,true) AND
FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0188 seconds
hbase(main):009:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','10',=,'binary:',false,true) AND
FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0207 seconds
hbase(main):010:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','10',=,'binary:') AND FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0046 seconds
hbase(main):011:0> scan 'test', {FILTER => "(
SingleColumnValueFilter('a','1',=,'binary:') AND FamilyFilter(=,'binary:b') )"}
ROW COLUMN+CELL
1 column=b:2, timestamp=1521296231742, value=
1 row(s)
Took 0.0071 seconds
{code}
v1 doesn't include any UT, let's see if it breaks existed UTs.
> 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
> Assignee: Reid Chan
> Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20151.master.001.patch
>
>
> 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)