[jira] [Commented] (HBASE-21158) Empty qualifier cell should not be returned if it does not match QualifierFilter

2019-05-28 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21158:


[~andrewcheng] See above where [~lhofhansl] indicates the change here is not 
consistent in branch-2. 

> Empty qualifier cell should not be returned if it does not match 
> QualifierFilter
> 
>
> Key: HBASE-21158
> URL: https://issues.apache.org/jira/browse/HBASE-21158
> Project: HBase
>  Issue Type: Bug
>  Components: Filters
>Affects Versions: 3.0.0, 2.2.0
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Critical
> Fix For: 3.0.0, 1.3.3, 1.2.8, 2.2.0, 1.4.8, 2.1.1, 2.0.3
>
> Attachments: HBASE-21158.branch-1.001.patch, 
> HBASE-21158.master.001.patch, HBASE-21158.master.002.patch, 
> HBASE-21158.master.003.patch, HBASE-21158.master.004.patch
>
>
> {code:xml}
> hbase(main):002:0> put 'testTable','testrow','f:testcol1','testvalue1'
> 0 row(s) in 0.0040 seconds
> hbase(main):003:0> put 'testTable','testrow','f:','testvalue2'
> 0 row(s) in 0.0070 seconds
> # get row with empty column f:, result is correct.
> hbase(main):004:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
> 1 row(s) in 0.0460 seconds
> # get row with column f:testcol1, result is incorrect.
> hbase(main):005:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:testcol1')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
>  testrowcolumn=f:testcol1, 
> timestamp=1536218550827, value=testvalue1 
>   
> 1 row(s) in 0.0070 seconds
> {code}
> As the above operation, when the row contains empty qualifier column, empty 
> qualifier cell is always returned when using QualifierFilter.



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


[jira] [Commented] (HBASE-21158) Empty qualifier cell should not be returned if it does not match QualifierFilter

2019-05-28 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21158:


Maybe the difference is due to 1.4.10 not being released yet with the change 
included. Adding the OR condition in the Phoenix code is the right thing to do 
given that HBase has decided the earlier behavior was a bug. 

> Empty qualifier cell should not be returned if it does not match 
> QualifierFilter
> 
>
> Key: HBASE-21158
> URL: https://issues.apache.org/jira/browse/HBASE-21158
> Project: HBase
>  Issue Type: Bug
>  Components: Filters
>Affects Versions: 3.0.0, 2.2.0
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Critical
> Fix For: 3.0.0, 1.3.3, 1.2.8, 2.2.0, 1.4.8, 2.1.1, 2.0.3
>
> Attachments: HBASE-21158.branch-1.001.patch, 
> HBASE-21158.master.001.patch, HBASE-21158.master.002.patch, 
> HBASE-21158.master.003.patch, HBASE-21158.master.004.patch
>
>
> {code:xml}
> hbase(main):002:0> put 'testTable','testrow','f:testcol1','testvalue1'
> 0 row(s) in 0.0040 seconds
> hbase(main):003:0> put 'testTable','testrow','f:','testvalue2'
> 0 row(s) in 0.0070 seconds
> # get row with empty column f:, result is correct.
> hbase(main):004:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
> 1 row(s) in 0.0460 seconds
> # get row with column f:testcol1, result is incorrect.
> hbase(main):005:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:testcol1')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
>  testrowcolumn=f:testcol1, 
> timestamp=1536218550827, value=testvalue1 
>   
> 1 row(s) in 0.0070 seconds
> {code}
> As the above operation, when the row contains empty qualifier column, empty 
> qualifier cell is always returned when using QualifierFilter.



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


[jira] [Commented] (HBASE-21158) Empty qualifier cell should not be returned if it does not match QualifierFilter

2019-05-28 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-21158:


branch-1 commit is d4d0a21b
branch-1.4 commit is b3aa1c19
branch-1.3 commit is 469c0279

The change to QualifierFilter.java is identical in all of these commits. There 
must be more going on here.[~lhofhansl]

> Empty qualifier cell should not be returned if it does not match 
> QualifierFilter
> 
>
> Key: HBASE-21158
> URL: https://issues.apache.org/jira/browse/HBASE-21158
> Project: HBase
>  Issue Type: Bug
>  Components: Filters
>Affects Versions: 3.0.0, 2.2.0
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Critical
> Fix For: 3.0.0, 1.3.3, 1.2.8, 2.2.0, 1.4.8, 2.1.1, 2.0.3
>
> Attachments: HBASE-21158.branch-1.001.patch, 
> HBASE-21158.master.001.patch, HBASE-21158.master.002.patch, 
> HBASE-21158.master.003.patch, HBASE-21158.master.004.patch
>
>
> {code:xml}
> hbase(main):002:0> put 'testTable','testrow','f:testcol1','testvalue1'
> 0 row(s) in 0.0040 seconds
> hbase(main):003:0> put 'testTable','testrow','f:','testvalue2'
> 0 row(s) in 0.0070 seconds
> # get row with empty column f:, result is correct.
> hbase(main):004:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
> 1 row(s) in 0.0460 seconds
> # get row with column f:testcol1, result is incorrect.
> hbase(main):005:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:testcol1')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
>  testrowcolumn=f:testcol1, 
> timestamp=1536218550827, value=testvalue1 
>   
> 1 row(s) in 0.0070 seconds
> {code}
> As the above operation, when the row contains empty qualifier column, empty 
> qualifier cell is always returned when using QualifierFilter.



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


[jira] [Commented] (HBASE-21158) Empty qualifier cell should not be returned if it does not match QualifierFilter

2019-05-27 Thread Lars Hofhansl (JIRA)


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

Lars Hofhansl commented on HBASE-21158:
---

This causes *very* subtle changes, and actually break Phoenix secondary 
indexing.

Furthermore is different between
 * branch-1.3 (check remove)
 * branch-1.4 (check still present)
 * branch-1 (check removed, g, took me 3h to track this down)
 * branch-2 (check still present) and
 * master (check removed)

This is bad. And bad that we managed to leave it all in different states in 
different HBase branches.

What happened here?

[~apurtell],

> Empty qualifier cell should not be returned if it does not match 
> QualifierFilter
> 
>
> Key: HBASE-21158
> URL: https://issues.apache.org/jira/browse/HBASE-21158
> Project: HBase
>  Issue Type: Bug
>  Components: Filters
>Affects Versions: 3.0.0, 2.2.0
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Critical
> Fix For: 3.0.0, 1.3.3, 1.2.8, 2.2.0, 1.4.8, 2.1.1, 2.0.3
>
> Attachments: HBASE-21158.branch-1.001.patch, 
> HBASE-21158.master.001.patch, HBASE-21158.master.002.patch, 
> HBASE-21158.master.003.patch, HBASE-21158.master.004.patch
>
>
> {code:xml}
> hbase(main):002:0> put 'testTable','testrow','f:testcol1','testvalue1'
> 0 row(s) in 0.0040 seconds
> hbase(main):003:0> put 'testTable','testrow','f:','testvalue2'
> 0 row(s) in 0.0070 seconds
> # get row with empty column f:, result is correct.
> hbase(main):004:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
> 1 row(s) in 0.0460 seconds
> # get row with column f:testcol1, result is incorrect.
> hbase(main):005:0> scan 'testTable',{FILTER => "QualifierFilter (=, 
> 'binary:testcol1')"}
> ROW COLUMN+CELL   
>   
>
>  testrowcolumn=f:, 
> timestamp=1536218563581, value=testvalue2 
>   
>  testrowcolumn=f:testcol1, 
> timestamp=1536218550827, value=testvalue1 
>   
> 1 row(s) in 0.0070 seconds
> {code}
> As the above operation, when the row contains empty qualifier column, empty 
> qualifier cell is always returned when using QualifierFilter.



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