[
https://issues.apache.org/jira/browse/HBASE-18757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zach York updated HBASE-18757:
------------------------------
Attachment: HBASE-18757.master.002.patch
> 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
> Fix For: 1.4.0, 1.3.2, 1.2.7, 2.0.0-alpha-3
>
> Attachments: 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
(v6.4.14#64029)