aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/org/apache/spark/util/FileLogger.scala15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/FileLogger.scala b/core/src/main/scala/org/apache/spark/util/FileLogger.scala
index 2e8fbf5a91..ad8b79af87 100644
--- a/core/src/main/scala/org/apache/spark/util/FileLogger.scala
+++ b/core/src/main/scala/org/apache/spark/util/FileLogger.scala
@@ -52,7 +52,20 @@ private[spark] class FileLogger(
override def initialValue(): SimpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")
}
- private val fileSystem = Utils.getHadoopFileSystem(logDir)
+ /**
+ * To avoid effects of FileSystem#close or FileSystem.closeAll called from other modules,
+ * create unique FileSystem instance only for FileLogger
+ */
+ private val fileSystem = {
+ val conf = SparkHadoopUtil.get.newConfiguration()
+ val logUri = new URI(logDir)
+ val scheme = logUri.getScheme
+ if (scheme == "hdfs") {
+ conf.setBoolean("fs.hdfs.impl.disable.cache", true)
+ }
+ FileSystem.get(logUri, conf)
+ }
+
var fileIndex = 0
// Only used if compression is enabled