[
https://issues.apache.org/jira/browse/SPARK-22585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264456#comment-16264456
]
Jakub Dubovsky commented on SPARK-22585:
----------------------------------------
I just tried how URI behaves on some examples and learned that it is doing
something else then I think. So yes either encoding a path or using getRawPath
are both valid solutions to me. Should I create PR for this or what is next
step?
> Url encoding of jar path expected?
> ----------------------------------
>
> Key: SPARK-22585
> URL: https://issues.apache.org/jira/browse/SPARK-22585
> Project: Spark
> Issue Type: Bug
> Components: Spark Core
> Affects Versions: 2.2.0
> Reporter: Jakub Dubovsky
>
> I am calling {code}sparkContext.addJar{code} method with path to a local jar
> I want to add. Example:
> {code}/home/me/.coursier/cache/v1/https/artifactory.com%3A443/path/to.jar{code}.
> As a result I get an exception saying
> {code}
> Failed to add
> /home/me/.coursier/cache/v1/https/artifactory.com%3A443/path/to.jar to Spark
> environment. Stacktrace:
> java.io.FileNotFoundException: Jar
> /home/me/.coursier/cache/v1/https/artifactory.com:443/path/to.jar not found
> {code}
> Important part to notice here is that colon character is url encoded in path
> I want to use but exception is complaining about path in decoded form. This
> is caused by this line of code from implementation ([see
> here|https://github.com/apache/spark/blob/v2.2.0/core/src/main/scala/org/apache/spark/SparkContext.scala#L1833]):
> {code}
> case null | "file" => addJarFile(new File(uri.getPath))
> {code}
> It uses
> [getPath|https://docs.oracle.com/javase/7/docs/api/java/net/URI.html#getPath()]
> method of
> [java.net.URI|https://docs.oracle.com/javase/7/docs/api/java/net/URI.html]
> which url decodes the path. I believe method
> [getRawPath|https://docs.oracle.com/javase/7/docs/api/java/net/URI.html#getRawPath()]
> should be used here which keeps path string in original form.
> I tend to see this as a bug since I want to use my dependencies resolved from
> artifactory with port directly. Is there some specific reason for this or can
> we fix this?
> Thanks
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]