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
