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

    https://github.com/apache/spark/pull/15131#discussion_r79305450
  
    --- Diff: core/src/main/scala/org/apache/spark/SparkContext.scala ---
    @@ -1426,7 +1426,7 @@ class SparkContext(config: SparkConf) extends Logging 
with ExecutorAllocationCli
        * supported for Hadoop-supported filesystems.
        */
       def addFile(path: String, recursive: Boolean): Unit = {
    -    val uri = new URI(path)
    +    val uri = new Path(path).toUri
         val schemeCorrectedPath = uri.getScheme match {
           case null | "local" => new File(path).getCanonicalFile.toURI.toString
           case _ => path
    --- End diff --
    
    In `Utils.fetchFile(path, ...)` below, it seems we can't pass path as it is 
because `new URI(path)` is called internally which fails to be parsed in case 
of Windows path.
    
    Could I please ask to change this to `uri.toString`? It'd work fine as far 
as I know.
    
    ```scala
    import java.net.URI
    import org.apache.hadoop.fs.Path
    
    scala> val a = new Path("C:\\a\\b\\c").toUri
    a: java.net.URI = /C:/a/b/c
    
    scala> val b = new URI(a.toString)
    b: java.net.URI = /C:/a/b/c
    
    scala> val a = new Path("C:/a/b/c").toUri
    a: java.net.URI = /C:/a/b/c
    
    scala> val b = new URI(a.toString)
    b: java.net.URI = /C:/a/b/c
    
    scala> val a = new Path("/a/b/c").toUri
    a: java.net.URI = /a/b/c
    
    scala> val b = new URI(a.toString)
    b: java.net.URI = /a/b/c
    
    scala> val a = new Path("file:///a/b/c").toUri
    a: java.net.URI = file:///a/b/c
    
    scala> val b = new URI(a.toString)
    b: java.net.URI = file:///a/b/c
    
    scala> new Path("http://localhost/a/b/c";).toUri
    a: java.net.URI = http://localhost/a/b/c
    
    scala> val b = new URI(a.toString)
    b: java.net.URI = http://localhost/a/b/c
    ```
    
    
    
    



---
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