Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/22374 )
Change subject: Upgrade Java dependencies ...................................................................... Patch Set 23: Code-Review+1 (2 comments) http://gerrit.cloudera.org:8080/#/c/22374/23/java/gradle/shadow.gradle File java/gradle/shadow.gradle: http://gerrit.cloudera.org:8080/#/c/22374/23/java/gradle/shadow.gradle@51 PS23, Line 51: // Excluding classes with Java21 as Gradle 7 doesn't recognize them and : // Java9 version specific classes(module-info.class) as we compile with : // Java8 and don't need them anyway. I guess the current list of versions to exclude was found by trial-and-error, right? The explanation doesn't bode quite well with the two lines below and opens a few questions regarding MR JARs. 1) What about other versions of Java that Gradle 7.6 doesn't support per https://docs.gradle.org/8.8-rc-1/userguide/compatibility.html? E.g., Java20, Java22, and newer -- does it makes sense to exclude those as well or we will just wait for the next time the compilation breaks, and add an extra exclusion when we hit it here? 2) AFAIK, the project can be officially compiled with Java11. Just curious: when trying to compile with Java11 target release, is it necessary to exclude "META-INF/versions/9/**" as well? 3) If trying to follow the logic of excluding all version-specific stuff with the release version higher than the target release version when compiling the project, does it make sense to exclude version-specific stuff of all versions onward starting version 9 if compiling with Java8? 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: shadowJar { : dependencies { : exclude(dependency("log4j::.*")) : exclude(dependency("org.apache.hadoop::.*")) : exclude(dependency("org.apache.hive::.*")) : exclude(dependency("org.apache.hbase::.*")) : exclude(dependency("org.apache.hbase.thirdparty::.*")) : exclude(dependency("junit::.*")) : exclude(dependency("javax.servlet.jsp::.*")) : exclude(dependency("javax.jdo::.*")) : > It was not failing in hadoop-common:3.3.1 as the needed class(BatchListingO Thanks for the update. OK, I guess it looked quite misleading to me since in the question and the original explanation the emphasis was on the version rather than the classpath details. -- 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: 23 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: Wed, 02 Apr 2025 20:38:31 +0000 Gerrit-HasComments: Yes
