geyanggang commented on code in PR #10789:
URL: https://github.com/apache/gravitino/pull/10789#discussion_r3146531621
##########
catalogs/catalog-hive/build.gradle.kts:
##########
@@ -49,12 +49,17 @@ dependencies {
implementation(libs.commons.io)
implementation(libs.commons.lang3)
implementation(libs.guava)
- implementation(libs.hadoop2.auth) {
+ implementation(libs.hadoop3.auth) {
exclude("*")
}
- implementation(libs.hadoop2.common) {
+ implementation(libs.hadoop3.common) {
exclude("*")
}
+ // Hadoop 3.x runtime requirements (stripped by exclude("*") above)
+ implementation(libs.hadoop3.shaded.guava)
+ implementation(libs.hadoop3.shaded.protobuf)
+ implementation(libs.commons.configuration2)
+ implementation(libs.re2j)
Review Comment:
For implementation scope (like catalog-hive), I think exclude("*") +
explicit deps is the safer approach. Hadoop 3.3.6 pulls in many transitive deps
(Guava, Protobuf, Jetty, etc.) that are likely to conflict with Hive 2.3.9's
own dependencies. Removing exclude("*") would require extensive per-dependency
exclusions to resolve conflicts, which is harder to maintain and more fragile.
The current approach gives us precise control over the classpath.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]