You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2018/03/21 22:13:10 UTC

[jira] [Updated] (HBASE-18757) Fix Improper bitwise & in BucketCache offset calculation

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

stack updated HBASE-18757:
--------------------------
    Fix Version/s: 2.0.0

> Fix Improper bitwise & in BucketCache offset calculation
> --------------------------------------------------------
>
>                 Key: HBASE-18757
>                 URL: https://issues.apache.org/jira/browse/HBASE-18757
>             Project: HBase
>          Issue Type: Bug
>          Components: BucketCache
>            Reporter: Zach York
>            Assignee: Zach York
>            Priority: Major
>             Fix For: 1.4.0, 1.3.2, 1.2.7, 2.0.0-alpha-3, 2.0.0
>
>         Attachments: HBASE-18757.branch-1.3.001.patch, HBASE-18757.master.001.patch, HBASE-18757.master.002.patch
>
>
> Offset calculation for BucketCache entries incorrectly uses an int literal to try to ensure that the offset is positive. However, because it uses the string literal 0xFFFFFFFF which java uses at an int (which is negative). When it does the bitwise &, java sign extends the int effectively undoing the original intention of the code and allowing for negative values to slip through.
> Then the read or write to that block will fail due to trying to read/write at a negative index which causes the BucketCache to fail.



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