[ 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