You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by na...@apache.org on 2020/05/12 18:50:44 UTC
[hadoop] branch trunk updated: BytesWritable causes OOME when array
size reaches Integer.MAX_VALUE. (#393)
This is an automated email from the ASF dual-hosted git repository.
nanda pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new d60496e BytesWritable causes OOME when array size reaches Integer.MAX_VALUE. (#393)
d60496e is described below
commit d60496e6c6673680e3299a3f995fd9b368123e3d
Author: Joseph Smith <wa...@hotmail.com>
AuthorDate: Tue May 12 13:50:35 2020 -0500
BytesWritable causes OOME when array size reaches Integer.MAX_VALUE. (#393)
---
.../src/main/java/org/apache/hadoop/io/BytesWritable.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/BytesWritable.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/BytesWritable.java
index a81bc24..c5538c9 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/BytesWritable.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/BytesWritable.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.classification.InterfaceStability;
@InterfaceStability.Stable
public class BytesWritable extends BinaryComparable
implements WritableComparable<BinaryComparable> {
+ private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
private static final int LENGTH_BYTES = 4;
private static final byte[] EMPTY_BYTES = new byte[0];
@@ -126,7 +127,7 @@ public class BytesWritable extends BinaryComparable
public void setSize(int size) {
if (size > getCapacity()) {
// Avoid overflowing the int too early by casting to a long.
- long newSize = Math.min(Integer.MAX_VALUE, (3L * size) / 2L);
+ long newSize = Math.min(MAX_ARRAY_SIZE, (3L * size) / 2L);
setCapacity((int) newSize);
}
this.size = size;
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org