This is an automated email from the ASF dual-hosted git repository.

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 4835a3cec8 GH-43396: [Java] Remove/replace jsr305 (#43397)
4835a3cec8 is described below

commit 4835a3cec8f1420e9515cfabdd757126574c9342
Author: Laurent Goujon <[email protected]>
AuthorDate: Wed Jul 24 03:25:10 2024 +0200

    GH-43396: [Java] Remove/replace jsr305 (#43397)
    
    ### Rationale for this change
    
    jsr305 is not maintained anymore and is unlikely to support JPMS. The 
classes are also in the javax. namespace which is known to cause issues as well.
    
    ### What changes are included in this PR?
    
    Replace most uses of jsr305 with the equivalent checker framework 
annotations, and remove usage of `@ ThreadSafe.`
    
    ### Are these changes tested?
    
    CI/CD
    
    ### Are there any user-facing changes?
    
    None
    
    * GitHub Issue: #43396
    
    Authored-by: Laurent Goujon <[email protected]>
    Signed-off-by: David Li <[email protected]>
---
 java/flight/flight-core/src/main/java/module-info.java              | 1 -
 java/flight/flight-sql-jdbc-core/pom.xml                            | 6 ++----
 .../arrow/driver/jdbc/client/ArrowFlightSqlClientHandler.java       | 2 +-
 java/memory/memory-core/pom.xml                                     | 4 ----
 java/memory/memory-core/src/main/java/module-info.java              | 1 -
 .../src/main/java/org/apache/arrow/memory/Accountant.java           | 2 --
 java/pom.xml                                                        | 5 -----
 7 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/java/flight/flight-core/src/main/java/module-info.java 
b/java/flight/flight-core/src/main/java/module-info.java
index ff0d7427b5..e668fe6149 100644
--- a/java/flight/flight-core/src/main/java/module-info.java
+++ b/java/flight/flight-core/src/main/java/module-info.java
@@ -35,7 +35,6 @@ module org.apache.arrow.flight.core {
   requires io.netty.common;
   requires io.netty.handler;
   requires io.netty.transport;
-  requires jsr305;
   requires org.apache.arrow.format;
   requires org.apache.arrow.memory.core;
   requires org.apache.arrow.vector;
diff --git a/java/flight/flight-sql-jdbc-core/pom.xml 
b/java/flight/flight-sql-jdbc-core/pom.xml
index 4833d30dbc..502d866fcc 100644
--- a/java/flight/flight-sql-jdbc-core/pom.xml
+++ b/java/flight/flight-sql-jdbc-core/pom.xml
@@ -132,10 +132,8 @@ under the License.
     </dependency>
 
     <dependency>
-      <groupId>com.google.code.findbugs</groupId>
-      <artifactId>jsr305</artifactId>
-      <version>3.0.2</version>
-      <scope>compile</scope>
+      <groupId>org.checkerframework</groupId>
+      <artifactId>checker-qual</artifactId>
     </dependency>
   </dependencies>
 
diff --git 
a/java/flight/flight-sql-jdbc-core/src/main/java/org/apache/arrow/driver/jdbc/client/ArrowFlightSqlClientHandler.java
 
b/java/flight/flight-sql-jdbc-core/src/main/java/org/apache/arrow/driver/jdbc/client/ArrowFlightSqlClientHandler.java
index 845f5372d3..0e9c79a090 100644
--- 
a/java/flight/flight-sql-jdbc-core/src/main/java/org/apache/arrow/driver/jdbc/client/ArrowFlightSqlClientHandler.java
+++ 
b/java/flight/flight-sql-jdbc-core/src/main/java/org/apache/arrow/driver/jdbc/client/ArrowFlightSqlClientHandler.java
@@ -29,7 +29,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
-import javax.annotation.Nullable;
 import org.apache.arrow.driver.jdbc.client.utils.ClientAuthenticationUtils;
 import org.apache.arrow.flight.CallOption;
 import org.apache.arrow.flight.CallStatus;
@@ -61,6 +60,7 @@ import org.apache.arrow.util.VisibleForTesting;
 import org.apache.arrow.vector.VectorSchemaRoot;
 import org.apache.arrow.vector.types.pojo.Schema;
 import org.apache.calcite.avatica.Meta.StatementType;
+import org.checkerframework.checker.nullness.qual.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/java/memory/memory-core/pom.xml b/java/memory/memory-core/pom.xml
index db1b0199bb..b9fa8ab1a6 100644
--- a/java/memory/memory-core/pom.xml
+++ b/java/memory/memory-core/pom.xml
@@ -31,10 +31,6 @@ under the License.
   <description>Core off-heap memory management libraries for Arrow 
ValueVectors.</description>
 
   <dependencies>
-    <dependency>
-      <groupId>com.google.code.findbugs</groupId>
-      <artifactId>jsr305</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
diff --git a/java/memory/memory-core/src/main/java/module-info.java 
b/java/memory/memory-core/src/main/java/module-info.java
index e74044ea41..0a607bdf2f 100644
--- a/java/memory/memory-core/src/main/java/module-info.java
+++ b/java/memory/memory-core/src/main/java/module-info.java
@@ -24,7 +24,6 @@ module org.apache.arrow.memory.core {
 
   requires java.compiler;
   requires transitive jdk.unsupported;
-  requires jsr305;
   requires static org.checkerframework.checker.qual;
   requires static org.immutables.value.annotations;
   requires static com.google.errorprone.annotations;
diff --git 
a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/Accountant.java 
b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/Accountant.java
index 5a31f4cd19..5d052c2cde 100644
--- 
a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/Accountant.java
+++ 
b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/Accountant.java
@@ -17,7 +17,6 @@
 package org.apache.arrow.memory;
 
 import java.util.concurrent.atomic.AtomicLong;
-import javax.annotation.concurrent.ThreadSafe;
 import org.apache.arrow.util.Preconditions;
 import org.checkerframework.checker.nullness.qual.Nullable;
 
@@ -25,7 +24,6 @@ import org.checkerframework.checker.nullness.qual.Nullable;
  * Provides a concurrent way to manage account for memory usage without 
locking. Used as basis for
  * Allocators. All operations are threadsafe (except for close).
  */
-@ThreadSafe
 class Accountant implements AutoCloseable {
 
   /** The parent allocator. */
diff --git a/java/pom.xml b/java/pom.xml
index a6c1002adf..7ba75af164 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -154,11 +154,6 @@ under the License.
         <artifactId>flatbuffers-java</artifactId>
         <version>${dep.fbs.version}</version>
       </dependency>
-      <dependency>
-        <groupId>com.google.code.findbugs</groupId>
-        <artifactId>jsr305</artifactId>
-        <version>3.0.2</version>
-      </dependency>
       <dependency>
         <groupId>com.google.errorprone</groupId>
         <artifactId>error_prone_annotations</artifactId>

Reply via email to