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: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to