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

Hadoop QA commented on HBASE-15676:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 4s {color} 
| {color:red} HBASE-15676 does not apply to master. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.2.1/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12801221/hbase-15287-0.98-v1.patch
 |
| JIRA Issue | HBASE-15676 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/1655/console |
| Powered by | Apache Yetus 0.2.1   http://yetus.apache.org |


This message was automatically generated.



> FuzzyRowFilter fails and matches all the rows in the table if the mask 
> consists of all 0s
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-15676
>                 URL: https://issues.apache.org/jira/browse/HBASE-15676
>             Project: HBase
>          Issue Type: Bug
>          Components: Filters
>    Affects Versions: 2.0.0, 0.98.13, 1.0.2, 1.2.0, 1.1.1
>            Reporter: Rohit Sinha
>            Assignee: Matt Warhaftig
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.1.5, 1.2.2
>
>         Attachments: hbase-15287-0.98-v1.patch, hbase-15676-v1.patch, 
> hbase-15676-v2.patch, hbase-15676-v3.patch, hbase-15676-v4.patch
>
>
> While using FuzzyRowFilter we noticed that if the mask array consists of all 
> 0s (fixed) the FuzzyRowFilter matches all the rows in the table. We noticed 
> this on HBase 1.1, 1.2 and higher.
> After some digging we suspect that this is because of isPreprocessedMask() 
> check which is used in preprocessMask() which was added here: 
> https://issues.apache.org/jira/browse/HBASE-13761
> If the mask consists of all 0s then the isPreprocessedMask() returns true and 
> the preprocessing which responsible for changing 0s to -1 doesn't happen and 
> hence all rows are matched in scan.
> This scenario can be tested in TestFuzzyRowFilterEndToEnd#testHBASE14782() If 
> we change the 
> byte[] fuzzyKey = Bytes.toBytesBinary("\\x00\\x00\\x044");
> byte[] mask = new byte[] {1,0,0,0};
> to 
> byte[] fuzzyKey = Bytes.toBytesBinary("\\x9B\\x00\\x044e");
> byte[] mask = new byte[] {0,0,0,0,0};
> We expect one match but this will match all the rows in the table. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to