You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "BELUGA BEHR (JIRA)" <ji...@apache.org> on 2019/03/01 20:47:00 UTC
[jira] [Created] (HIVE-21371) Make NonSyncByteArrayOutputStream
Overflow Conscious
BELUGA BEHR created HIVE-21371:
----------------------------------
Summary: Make NonSyncByteArrayOutputStream Overflow Conscious
Key: HIVE-21371
URL: https://issues.apache.org/jira/browse/HIVE-21371
Project: Hive
Issue Type: Improvement
Affects Versions: 4.0.0, 3.2.0
Reporter: BELUGA BEHR
Attachments: HIVE-21371.1.patch
{code:java|title=NonSyncByteArrayOutputStream}
private int enLargeBuffer(int increment) {
int temp = count + increment;
int newLen = temp;
if (temp > buf.length) {
if ((buf.length << 1) > temp) {
newLen = buf.length << 1;
}
byte newbuf[] = new byte[newLen];
System.arraycopy(buf, 0, newbuf, 0, count);
buf = newbuf;
}
return newLen;
}
{code}
This will fail if the array is 2GB or larger because it will double the size every time without consideration for the 4GB limit on arrays.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)