aboutsummaryrefslogtreecommitdiff
path: root/repl
diff options
context:
space:
mode:
Diffstat (limited to 'repl')
-rw-r--r--repl/src/main/scala/org/apache/spark/repl/ExecutorClassLoader.scala11
1 files changed, 7 insertions, 4 deletions
diff --git a/repl/src/main/scala/org/apache/spark/repl/ExecutorClassLoader.scala b/repl/src/main/scala/org/apache/spark/repl/ExecutorClassLoader.scala
index b46df12da8..9805609120 100644
--- a/repl/src/main/scala/org/apache/spark/repl/ExecutorClassLoader.scala
+++ b/repl/src/main/scala/org/apache/spark/repl/ExecutorClassLoader.scala
@@ -45,7 +45,7 @@ class ExecutorClassLoader(conf: SparkConf, classUri: String, parent: ClassLoader
// Hadoop FileSystem object for our URI, if it isn't using HTTP
var fileSystem: FileSystem = {
- if (uri.getScheme() == "http") {
+ if (Set("http", "https", "ftp").contains(uri.getScheme)) {
null
} else {
FileSystem.get(uri, SparkHadoopUtil.get.newConfiguration(conf))
@@ -78,13 +78,16 @@ class ExecutorClassLoader(conf: SparkConf, classUri: String, parent: ClassLoader
if (fileSystem != null) {
fileSystem.open(new Path(directory, pathInDirectory))
} else {
- if (SparkEnv.get.securityManager.isAuthenticationEnabled()) {
+ val url = if (SparkEnv.get.securityManager.isAuthenticationEnabled()) {
val uri = new URI(classUri + "/" + urlEncode(pathInDirectory))
val newuri = Utils.constructURIForAuthentication(uri, SparkEnv.get.securityManager)
- newuri.toURL().openStream()
+ newuri.toURL
} else {
- new URL(classUri + "/" + urlEncode(pathInDirectory)).openStream()
+ new URL(classUri + "/" + urlEncode(pathInDirectory))
}
+
+ Utils.setupSecureURLConnection(url.openConnection(), SparkEnv.get.securityManager)
+ .getInputStream
}
}
val bytes = readAndTransformClass(name, inputStream)