[ https://issues.apache.org/jira/browse/HBASE-20151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guanghao Zhang updated HBASE-20151: ----------------------------------- Fix Version/s: (was: 2.2.0) 2.3.0 > Bug with SingleColumnValueFilter and FamilyFilter > ------------------------------------------------- > > Key: HBASE-20151 > URL: https://issues.apache.org/jira/browse/HBASE-20151 > Project: HBase > Issue Type: Bug > Affects Versions: 2.1.0, 2.0.1, 1.4.5 > Environment: MacOS 10.13.3 > HBase 1.3.1 > Reporter: Steven Sadowski > Assignee: Reid Chan > Priority: Major > Fix For: 3.0.0, 2.3.0, 1.5.1 > > Attachments: HBASE-20151.master.001.patch, > HBASE-20151.master.002.patch, HBASE-20151.master.003.patch, > HBASE-20151.master.004.patch, HBASE-20151.master.004.patch, > HBASE-20151.master.005.patch, HBASE-20151.master.006.patch, > filter-list-type.v1.txt > > > 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)