You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2017/09/05 21:13:00 UTC

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

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

Ted Yu edited comment on HBASE-18757 at 9/5/17 9:12 PM:
--------------------------------------------------------

The new test does fail on some platform(s), without fix.

+1


was (Author: yuzhihong@gmail.com):
The new test does fail on some platform(s).

+1

> 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)