You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Takeshi Yamamuro (Jira)" <ji...@apache.org> on 2021/03/01 00:19:00 UTC

[jira] [Resolved] (SPARK-34506) ADD JAR with ivy coordinates should be compatible with Hive transitive behavior

     [ https://issues.apache.org/jira/browse/SPARK-34506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Takeshi Yamamuro resolved SPARK-34506.
--------------------------------------
    Fix Version/s: 3.2.0
         Assignee: Shardul Mahadik
       Resolution: Fixed

Resolved by https://github.com/apache/spark/pull/31623

> ADD JAR with ivy coordinates should be compatible with Hive transitive behavior
> -------------------------------------------------------------------------------
>
>                 Key: SPARK-34506
>                 URL: https://issues.apache.org/jira/browse/SPARK-34506
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 3.2.0
>            Reporter: Shardul Mahadik
>            Assignee: Shardul Mahadik
>            Priority: Major
>             Fix For: 3.2.0
>
>
> SPARK-33084 added the ability to use ivy coordinates with `SparkContext.addJar`. [PR #29966|https://github.com/apache/spark/pull/29966] claims to mimic Hive behavior although I found a few cases where it doesn't
> 1) The default value of the {{transitive}} parameter is false, both in case of parameter not being specified in coordinate or parameter value being invalid. The Hive behavior is {{transitive}} is [true if not specified|https://github.com/apache/hive/blob/cb2ac3dcc6af276c6f64ee00f034f082fe75222b/ql/src/java/org/apache/hadoop/hive/ql/util/DependencyResolver.java#L169] in the coordinate and [false for invalid values|https://github.com/apache/hive/blob/cb2ac3dcc6af276c6f64ee00f034f082fe75222b/ql/src/java/org/apache/hadoop/hive/ql/util/DependencyResolver.java#L124]. Also, regardless of Hive, I think a default of {{true}} for the transitive parameter also matches [ivy's own defaults|https://ant.apache.org/ivy/history/2.5.0/ivyfile/dependency.html#_attributes].
> 2) The parameter value for {{transitive}} parameter is regarded as case-sensitive [based on the understanding|https://github.com/apache/spark/pull/29966#discussion_r547752259] that Hive behavior is case-sensitive. However, this is not correct, Hive [treats the parameter value case-insensitively|https://github.com/apache/hive/blob/cb2ac3dcc6af276c6f64ee00f034f082fe75222b/ql/src/java/org/apache/hadoop/hive/ql/util/DependencyResolver.java#L122].



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org