Romain Yon created BEAM-2334: -------------------------------- Summary: OutOfMemoryError in RandomAccessData.java:350 Key: BEAM-2334 URL: https://issues.apache.org/jira/browse/BEAM-2334 Project: Beam Issue Type: Bug Components: runner-core Affects Versions: 2.0.0 Reporter: Romain Yon Assignee: Kenneth Knowles
Got the following trace: ``` Caused by: java.lang.OutOfMemoryError: Requested array size exceeds VM limit at java.util.Arrays.copyOf(Arrays.java:3236) at org.apache.beam.runners.dataflow.util.RandomAccessData.ensureCapacity(RandomAccessData.java:350) at org.apache.beam.runners.dataflow.util.RandomAccessData.access$300(RandomAccessData.java:51) at org.apache.beam.runners.dataflow.util.RandomAccessData$1.write(RandomAccessData.java:258) at com.esotericsoftware.kryo.io.Output.flush(Output.java:185) ``` However the machine was not out of heap space. Seems like the problem is in RandomAccessData.java:357: Arrays.copyOf(buffer, Integer.MAX_VALUE) Proof: ``` scala> Arrays.copyOf(v, Int.MaxValue) java.lang.OutOfMemoryError: Requested array size exceeds VM limit at java.util.Arrays.copyOf(Arrays.java:3236) ... 31 elided scala> Arrays.copyOf(v, Int.MaxValue-2) java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3236) ... 31 elided scala> Arrays.copyOf(v, Int.MaxValue-1) java.lang.OutOfMemoryError: Requested array size exceeds VM limit at java.util.Arrays.copyOf(Arrays.java:3236) ... 31 elided ``` I'll submit a corresponding PR. -- This message was sent by Atlassian JIRA (v6.3.15#6346)