From a8fb7cb0be0588d4c31a1fc24c3473ef39562be5 Mon Sep 17 00:00:00 2001 From: Terence Yim Date: Tue, 23 Feb 2016 16:27:48 -0800 Subject: [PATCH] [SPARK-13441] [YARN] Fix NPE in yarn Client.createConfArchive method - Log a warning instead of throwing NPE if either $HADOOP_CONF_DIR or $YARN_CONF_DIR is not accessible. --- .../scala/org/apache/spark/deploy/yarn/Client.scala | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala b/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala index d4ca255953a4..530f1d753b13 100644 --- a/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala +++ b/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala @@ -537,9 +537,14 @@ private[spark] class Client( sys.env.get(envKey).foreach { path => val dir = new File(path) if (dir.isDirectory()) { - dir.listFiles().foreach { file => - if (file.isFile && !hadoopConfFiles.contains(file.getName())) { - hadoopConfFiles(file.getName()) = file + val files = dir.listFiles() + if (files == null) { + logWarning("Failed to list files under directory " + dir) + } else { + files.foreach { file => + if (file.isFile && !hadoopConfFiles.contains(file.getName())) { + hadoopConfFiles(file.getName()) = file + } } } }