Skip to content

Commit 18acf6d

Browse files
authored
Merge pull request apache-spark-on-k8s#363 from palantir/filter-empty-jars
Sanitize empty strings for jars and files
2 parents 136574e + d9e2332 commit 18acf6d

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/DriverConfigOrchestrator.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,17 @@ private[spark] class DriverConfigOrchestrator(
9595
None
9696
}
9797

98-
val sparkJars = sparkConf.getOption("spark.jars")
98+
val sparkJars = (sparkConf.getOption("spark.jars")
9999
.map(_.split(","))
100100
.getOrElse(Array.empty[String]) ++
101-
additionalMainAppJar.toSeq
101+
additionalMainAppJar.toSeq)
102+
.map(_.trim)
103+
.filterNot(_.isEmpty)
102104
val sparkFiles = sparkConf.getOption("spark.files")
103105
.map(_.split(","))
104106
.getOrElse(Array.empty[String])
107+
.map(_.trim)
108+
.filterNot(_.isEmpty)
105109

106110
// TODO(SPARK-23153): remove once submission client local dependencies are supported.
107111
if (existSubmissionLocalFiles(sparkJars)) {
@@ -142,7 +146,7 @@ private[spark] class DriverConfigOrchestrator(
142146
}
143147

144148
private def existSubmissionLocalFiles(files: Seq[String]): Boolean = {
145-
files.exists { uri =>
149+
files.nonEmpty && files.exists { uri =>
146150
Utils.resolveURI(uri).getScheme == "file"
147151
}
148152
}

resource-managers/kubernetes/core/src/test/scala/org/apache/spark/deploy/k8s/submit/DriverConfigOrchestratorSuite.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ class DriverConfigOrchestratorSuite extends SparkFunSuite {
109109
}
110110

111111
sparkConf.set("spark.files", "/path/to/file1,/path/to/file2")
112+
.set("spark.jars", "")
112113
orchestrator = new DriverConfigOrchestrator(
113114
APP_ID,
114115
KUBERNETES_RESOURCE_PREFIX,

0 commit comments

Comments
 (0)