[ 
https://issues.apache.org/jira/browse/SPARK-44469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17744047#comment-17744047
 ] 

Yazhi Wang commented on SPARK-44469:
------------------------------------

I'll work on it.

> Utils.getOrCreateLocalRootDirs will never take effect after the first call 
> fails, even if the exception is recovered
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-44469
>                 URL: https://issues.apache.org/jira/browse/SPARK-44469
>             Project: Spark
>          Issue Type: Improvement
>          Components: Spark Core
>    Affects Versions: 3.4.1
>            Reporter: Yazhi Wang
>            Priority: Minor
>
> {code:java}
> private[spark] def getOrCreateLocalRootDirs(conf: SparkConf): Array[String] = 
> {
>   if (localRootDirs == null || localRootDirs.isEmpty) {
>     this.synchronized {
>       if (localRootDirs == null) {
>         localRootDirs = getOrCreateLocalRootDirsImpl(conf)
>       }
>     }
>   }
>   localRootDirs
> }{code}
> localRootDirs is only initialized once in the Executor/Driver life cycle. If 
> it fails due to a FileSystem exception (such as a full disk) during the first 
> initialization, localRootDirs will be assigned a value of None instead of 
> null.
> Even if the FileSystem exception recovered, the localRootDirs won't re-apply 
> from FileSystem, causing the task on the Executor to continue to fail (tasks 
> relay on fetchFiles locally)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to