Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.2.0
-
None
Description
Both FileFormatWriter.ExecuteWriteTask.releaseResources() implementations close() any non-null currentWriter, then set the field to null
However, if the close() call throws an exception in the execution of {FileFormatWriter.executeTask, the exception handler will attempt to cleanup, by calling releaseResources() again. Looking at the codepath, this may cause committer.abortTask() to get skipped on failure.
This surfaces in SPARK-10109 and I've just seen it in HADOOP-14204); Parquet seems to be in the trace as it NPEs the second time it's close() method is called.
Fix: always set currentWriter to null,
Attachments
Issue Links
- is duplicated by
-
SPARK-10109 NPE when saving Parquet To HDFS
- Resolved
- relates to
-
HADOOP-14204 S3A multipart commit failing, "UnsupportedOperationException at java.util.Collections$UnmodifiableList.sort"
- Resolved
-
SPARK-10109 NPE when saving Parquet To HDFS
- Resolved
- links to