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