Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/22374 )

Change subject: Upgrade Java dependencies
......................................................................


Patch Set 20:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/22374/20/java/kudu-hive/build.gradle
File java/kudu-hive/build.gradle:

http://gerrit.cloudera.org:8080/#/c/22374/20/java/kudu-hive/build.gradle@37
PS20, Line 37: // Hive Metastore uses hadoop-common-3.10.1 which seems to be 
having issues finding the correct
             : // classpath for org.apache.hadoop.fs.BatchListingOperations. 
This is a workaround to force the
             : // version which we use for hadoop-common which is said to be 
compatible with the current Hive
             : // metastore version according to official Hive documentation:
             : // https://hive.apache.org/general/downloads/
             :
             : configurations.all {
             :   resolutionStrategy {
             :     force libs.hadoopCommon
             :   }
             : }
> It seems 'testImplementation libs.hadoopMRClientCommon' is needed for tests
After looking at this a bit more, I realized that migrating these transitive 
dependencies should have been taken care of differently than it was done in 
https://github.com/apache/kudu/commit/e456bc775805d4555d99ce12d04e3ca0b8950760

I guess we should take a step back and try to address the issue, namely 
revising the update from the 'provided' dependency type for the transitive 
'optioinal' dependencies of the following:

* libs.hadoopCommon
* libs.hadoopMRClientCommon

We should take into consideration that the 'provided' is something that mirrors 
similar construct in Maven:
 
https://docs.gradle.org/current/userguide/migrating_from_maven.html#migmvn:excluding_deps

They have some comments on how to add constraints on transitive dependencies: 
https://docs.gradle.org/current/userguide/dependency_constraints.html#sec:adding-constraints-transitive-deps

With that, maybe we should try using so-called platforms here to avoid 
conflicts across different versions of components that Kudu packages have 
transitive dependencies of: 
https://docs.gradle.org/current/userguide/platforms.html#sec:using-platform-to-control-transitive-deps

What do you think?



--
To view, visit http://gerrit.cloudera.org:8080/22374
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id1b43e3cc8228e94fbbd3085933cd62bf089e23d
Gerrit-Change-Number: 22374
Gerrit-PatchSet: 20
Gerrit-Owner: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Attila Bukor <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <[email protected]>
Gerrit-Comment-Date: Tue, 18 Mar 2025 20:25:41 +0000
Gerrit-HasComments: Yes

Reply via email to