Zoltan Chovan has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24517 )

Change subject: [java] Upgrade build to Gradle 9
......................................................................


Patch Set 3:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/24517/3/java/build.gradle
File java/build.gradle:

http://gerrit.cloudera.org:8080/#/c/24517/3/java/build.gradle@109
PS3, Line 109:     duplicatesStrategy = DuplicatesStrategy.INCLUDE
> nit: `INCLUDE` means when multiple subprojects contribute the same jar file
Good point — INCLUDE wasn't a deliberate choice over EXCLUDE. Switched to 
DuplicatesStrategy.EXCLUDE and added a comment


http://gerrit.cloudera.org:8080/#/c/24517/3/java/config/spotbugs/excludeFilter.xml
File java/config/spotbugs/excludeFilter.xml:

http://gerrit.cloudera.org:8080/#/c/24517/3/java/config/spotbugs/excludeFilter.xml@32
PS3, Line 32:         <Or>
> q: The global suppression of `AT_NONATOMIC_64BIT_PRIMITIVE`, `AT_NONATOMIC_
right, that part is in https://gerrit.cloudera.org/c/24520/3, which I have 
marked as WIP, since there are a lot of changes that potentially affect public 
API, especially throwing different exceptions (e.g. an existing spark 
application might be affected), so I still want to have some discussion over it 
and some double checking to see what those changes would mean from an end user 
perspective


http://gerrit.cloudera.org:8080/#/c/24517/3/java/gradle/quality.gradle
File java/gradle/quality.gradle:

http://gerrit.cloudera.org:8080/#/c/24517/3/java/gradle/quality.gradle@81
PS3, Line 81: spotbugs {
> q: The old config pinned `toolVersion = versions.spotBugs` (currently "4.2.
You're right, it's dead now — the SpotBugs tool version is governed by the 
plugin default (6.4.7 ships SpotBugs 4.8.x), and nothing else references 
versions.spotBugs. Removed the entry from dependencies.gradle to avoid 
confusion.
Version 4.8.x is what's required for Gradle 9 / JDK 17 compatibility


http://gerrit.cloudera.org:8080/#/c/24517/3/java/gradle/quality.gradle@83
PS3, Line 83:   effort = Effort.valueOf("MAX")
> nit: Since you're already importing `Effort` and `Confidence` at the top of
Changed to  Effort.MAX, but for reportLevel it unfortunately doesn't work: 
Confidence.LOW fails to configure with Cannot convert value 'class 
com.github.spotbugs.snom.Confidence$LOW' … to enum type Confidence. That entry 
carries a class body, so under Groovy Confidence.LOW resolves to the synthetic 
nested type Confidence$LOW instead of the enum constant. Kept 
Confidence.valueOf("LOW") there and added an inline comment explaining why the 
two differ.


http://gerrit.cloudera.org:8080/#/c/24517/3/java/kudu-proto/build.gradle
File java/kudu-proto/build.gradle:

http://gerrit.cloudera.org:8080/#/c/24517/3/java/kudu-proto/build.gradle@45
PS3, Line 45: spotbugsMain.enabled = false
> nit: Directly accessing `spotbugsMain` eagerly realizes the task. The Gradl
good catch, done


http://gerrit.cloudera.org:8080/#/c/24517/3/java/kudu-subprocess/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader
File 
java/kudu-subprocess/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader:

http://gerrit.cloudera.org:8080/#/c/24517/3/java/kudu-subprocess/src/main/resources/META-INF/services/javax.ws.rs.ext.MessageBodyReader@1
PS3, Line 1: com.sun.jersey.core.impl.provider.entity.StringProvider
> q: These service-provider descriptors reference `com.sun.jersey.*` (Jersey
Yes — Jersey 1.x discovers its built-in providers by scanning the classpath, 
and the shaded kudu-subprocess jar defeats that scan, so the providers have to 
be enumerated explicitly. Added a comment to the top of both the 
MessageBodyReader and MessageBodyWriter descriptors explaining this and noting 
they're required at runtime (not dead code).



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I874d631ce7f4ca6527c9ffda6caef75c2976932d
Gerrit-Change-Number: 24517
Gerrit-PatchSet: 3
Gerrit-Owner: Zoltan Chovan <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Attila Bukor <[email protected]>
Gerrit-Reviewer: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Chovan <[email protected]>
Gerrit-Reviewer: Zoltan Martonka <[email protected]>
Gerrit-Comment-Date: Tue, 30 Jun 2026 07:54:51 +0000
Gerrit-HasComments: Yes

Reply via email to