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

Reply via email to