Burak Yavuz created SPARK-17876:
-----------------------------------
Summary: Write StructuredStreaming WAL to a stream instead of
materializing all at once
Key: SPARK-17876
URL: https://issues.apache.org/jira/browse/SPARK-17876
Project: Spark
Issue Type: Bug
Components: SQL, Streaming
Affects Versions: 2.0.1, 2.0.0
Reporter: Burak Yavuz
The CompactibleFileStreamLog materializes the whole metadata log in memory as a
String. This can cause issues when there are lots of files that are being
committed, especially during a compaction batch.
You may come across stacktraces that look like:
{code}
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at java.lang.StringCoding.encode(StringCoding.java:350)
at java.lang.String.getBytes(String.java:941)
at
org.apache.spark.sql.execution.streaming.FileStreamSinkLog.serialize(FileStreamSinkLog.scala:127)
at
{code}
The safer way is to write to an output stream so that we don't have to
materialize a huge string.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]