[
https://issues.apache.org/jira/browse/SPARK-20038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Imran Rashid resolved SPARK-20038.
----------------------------------
Resolution: Fixed
Fix Version/s: 2.2.0
Issue resolved by pull request 17364
[https://github.com/apache/spark/pull/17364]
> FileFormatWriter.ExecuteWriteTask.releaseResources() implementations to be
> re-entrant
> -------------------------------------------------------------------------------------
>
> Key: SPARK-20038
> URL: https://issues.apache.org/jira/browse/SPARK-20038
> Project: Spark
> Issue Type: Improvement
> Components: Spark Core
> Affects Versions: 2.2.0
> Reporter: Steve Loughran
> Priority: Minor
> Fix For: 2.2.0
>
>
> 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,
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]