You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Haohui Mai (JIRA)" <ji...@apache.org> on 2015/11/19 21:50:11 UTC
[jira] [Updated] (HADOOP-11901) BytesWritable fails to support 2G
chunks due to integer overflow
[ https://issues.apache.org/jira/browse/HADOOP-11901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Haohui Mai updated HADOOP-11901:
--------------------------------
Summary: BytesWritable fails to support 2G chunks due to integer overflow (was: BytesWritable supports only up to ~700MB (instead of 2G) due to integer overflow.)
> BytesWritable fails to support 2G chunks due to integer overflow
> ----------------------------------------------------------------
>
> Key: HADOOP-11901
> URL: https://issues.apache.org/jira/browse/HADOOP-11901
> Project: Hadoop Common
> Issue Type: Improvement
> Reporter: Reynold Xin
> Assignee: Reynold Xin
> Labels: BB2015-05-TBR
> Attachments: HADOOP-11901 (3).diff, HADOOP-11901.diff
>
>
> BytesWritable.setSize increases the buffer size by 1.5 each time ( * 3 / 2). This is an unsafe operation since it restricts the max size to ~700MB, since 700MB * 3 > 2GB.
> I didn't write a test case for this case because in order to trigger this, I'd need to allocate around 700MB, which is pretty expensive to do in a unit test. Note that I didn't throw any exception in the case integer overflow as I didn't want to change that behavior (callers to this might expect a java.lang.NegativeArraySizeException).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)