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

Shardul Mahadik updated SPARK-34506:
------------------------------------
    Description: 
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].



  was:
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 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].




> ADD JAR with ivy coordinates should be compatible with Hive 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
>            Priority: Major
>
> 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-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to