Github user holdenk commented on a diff in the pull request:

    https://github.com/apache/spark/pull/15666#discussion_r98950178
  
    --- Diff: core/src/main/scala/org/apache/spark/SparkContext.scala ---
    @@ -1802,19 +1802,34 @@ class SparkContext(config: SparkConf) extends 
Logging {
        * Adds a JAR dependency for all tasks to be executed on this 
`SparkContext` in the future.
        * @param path can be either a local file, a file in HDFS (or other 
Hadoop-supported filesystems),
        * an HTTP, HTTPS or FTP URI, or local:/path for a file on every worker 
node.
    +   * If addToCurrentClassLoader is true, attempt to add the new class to 
the current threads' class
    +   * loader. In general adding to the current threads' class loader will 
impact all other
    +   * application threads unless they have explicitly changed their class 
loader.
        */
       def addJar(path: String) {
    +    addJar(path, false)
    +  }
    +
    +  def addJar(path: String, addToCurrentClassLoader: Boolean) {
         if (path == null) {
           logWarning("null specified as parameter to addJar")
         } else {
           var key = ""
    -      if (path.contains("\\")) {
    +
    +      val uri = if (path.contains("\\")) {
             // For local paths with backslashes on Windows, URI throws an 
exception
    -        key = env.rpcEnv.fileServer.addJar(new File(path))
    +        new File(path).toURI
           } else {
             val uri = new URI(path)
             // SPARK-17650: Make sure this is a valid URL before adding it to 
the list of dependencies
             Utils.validateURL(uri)
    +        uri
    +      }
    +
    +      if (path.contains("\\")) {
    +        // For local paths with backslashes on Windows, URI throws an 
exception
    +        key = env.rpcEnv.fileServer.addJar(new File(uri))
    --- End diff --
    
    So I'm a bit confused, we already supposedly have a safe uri object for 
windows above, does it throw an exception on getPath? Or is it that \\ is 
always local and getScheme doesn't return that?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to