You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by do...@apache.org on 2025/08/09 13:22:07 UTC

(spark) branch master updated: [SPARK-53197][CORE][SQL] Use `java.util.Objects#requireNonNull` instead of `com.google.common.base.Preconditions#checkNotNull`

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

dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new a8b8381f4473 [SPARK-53197][CORE][SQL] Use `java.util.Objects#requireNonNull` instead of `com.google.common.base.Preconditions#checkNotNull`
a8b8381f4473 is described below

commit a8b8381f447333dda0c6d2a36a629cf1f24d1788
Author: yangjie01 <ya...@baidu.com>
AuthorDate: Sat Aug 9 06:21:56 2025 -0700

    [SPARK-53197][CORE][SQL] Use `java.util.Objects#requireNonNull` instead of `com.google.common.base.Preconditions#checkNotNull`
    
    ### What changes were proposed in this pull request?
    This pr uses `java.util.Objects#requireNonNull` and mentions `com.google.common.base.Preconditions#checkNotNull`. These two methods have the same implementation logic, but `Objects#requireNonNull` is a built-in method in the JDK.
    
    ### Why are the changes needed?
    Give priority to using the built-in APIs of JDK.
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    Pass GitHub Actions
    
    ### Was this patch authored or co-authored using generative AI tooling?
    No
    
    Closes #51926 from LuciferYang/SPARK-53197.
    
    Authored-by: yangjie01 <ya...@baidu.com>
    Signed-off-by: Dongjoon Hyun <do...@apache.org>
---
 .../org/apache/spark/util/kvstore/KVStoreView.java   |  4 +++-
 .../apache/spark/util/kvstore/LevelDBTypeInfo.java   | 12 ++++++++----
 .../apache/spark/util/kvstore/RocksDBTypeInfo.java   | 20 ++++++++++++--------
 .../apache/spark/network/client/TransportClient.java |  5 +++--
 .../spark/network/client/TransportClientFactory.java |  6 +++---
 .../org/apache/spark/network/crypto/AuthEngine.java  |  7 +++----
 .../apache/spark/network/sasl/SparkSaslServer.java   |  6 +++---
 .../network/server/BlockPushNonFatalFailure.java     |  7 +++----
 .../spark/network/server/OneForOneStreamManager.java |  3 ++-
 .../apache/spark/network/server/TransportServer.java |  4 ++--
 .../spark/network/util/LimitedInputStream.java       |  4 ++--
 .../network/shuffle/AppsWithRecoveryDisabled.java    | 12 ++++--------
 .../spark/network/shuffle/ExternalBlockHandler.java  |  4 ++--
 .../spark/network/shuffle/MergedBlockMeta.java       |  4 ++--
 .../shuffle/protocol/BlockPushReturnCode.java        |  3 +--
 .../spark/network/yarn/YarnShuffleService.java       |  3 +--
 .../java/org/apache/spark/api/java/Optional.java     |  8 ++------
 dev/checkstyle.xml                                   |  4 ++++
 scalastyle-config.xml                                |  5 +++++
 .../spark/sql/connector/catalog/IdentifierImpl.java  |  8 ++------
 .../spark/sql/connector/catalog/TableInfo.java       |  8 ++++----
 .../spark/sql/connector/catalog/TableSummary.java    |  8 ++++----
 22 files changed, 75 insertions(+), 70 deletions(-)

diff --git a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/KVStoreView.java b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/KVStoreView.java
index 90135268fdef..130f7ab4b8ba 100644
--- a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/KVStoreView.java
+++ b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/KVStoreView.java
@@ -17,6 +17,8 @@
 
 package org.apache.spark.util.kvstore;
 
+import java.util.Objects;
+
 import com.google.common.base.Preconditions;
 
 import org.apache.spark.annotation.Private;
@@ -58,7 +60,7 @@ public abstract class KVStoreView<T> implements Iterable<T> {
    * Iterates according to the given index.
    */
   public KVStoreView<T> index(String name) {
-    this.index = Preconditions.checkNotNull(name);
+    this.index = Objects.requireNonNull(name);
     return this;
   }
 
diff --git a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/LevelDBTypeInfo.java b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/LevelDBTypeInfo.java
index 21a412a36f39..c03487f67d0c 100644
--- a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/LevelDBTypeInfo.java
+++ b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/LevelDBTypeInfo.java
@@ -18,9 +18,11 @@
 package org.apache.spark.util.kvstore;
 
 import java.lang.reflect.Array;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 import static java.nio.charset.StandardCharsets.UTF_8;
 
 import com.google.common.base.Preconditions;
@@ -305,8 +307,9 @@ class LevelDBTypeInfo {
     /** The full key in the index that identifies the given entity. */
     byte[] entityKey(byte[] prefix, Object entity) throws Exception {
       Object indexValue = getValue(entity);
-      Preconditions.checkNotNull(indexValue, "Null index value for %s in type %s.",
-        name, type.getName());
+      Objects.requireNonNull(indexValue, () ->
+        String.format(
+          "Null index value for %s in type %s.", Arrays.toString(name), type.getName()));
       byte[] entityKey = start(prefix, indexValue);
       if (!isNatural) {
         entityKey = buildKey(false, entityKey, toKey(naturalIndex().getValue(entity)));
@@ -331,8 +334,9 @@ class LevelDBTypeInfo {
         byte[] naturalKey,
         byte[] prefix) throws Exception {
       Object indexValue = getValue(entity);
-      Preconditions.checkNotNull(indexValue, "Null index value for %s in type %s.",
-        name, type.getName());
+      Objects.requireNonNull(indexValue, () ->
+        String.format(
+          "Null index value for %s in type %s.", Arrays.toString(name), type.getName()));
 
       byte[] entityKey = start(prefix, indexValue);
       if (!isNatural) {
diff --git a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/RocksDBTypeInfo.java b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/RocksDBTypeInfo.java
index 3d1ba72f94d7..3c208356e92a 100644
--- a/common/kvstore/src/main/java/org/apache/spark/util/kvstore/RocksDBTypeInfo.java
+++ b/common/kvstore/src/main/java/org/apache/spark/util/kvstore/RocksDBTypeInfo.java
@@ -17,14 +17,16 @@
 
 package org.apache.spark.util.kvstore;
 
-import com.google.common.base.Preconditions;
-import org.rocksdb.RocksDBException;
-import org.rocksdb.WriteBatch;
-
 import java.lang.reflect.Array;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
+
+import com.google.common.base.Preconditions;
+import org.rocksdb.RocksDBException;
+import org.rocksdb.WriteBatch;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
@@ -307,8 +309,9 @@ class RocksDBTypeInfo {
     /** The full key in the index that identifies the given entity. */
     byte[] entityKey(byte[] prefix, Object entity) throws Exception {
       Object indexValue = getValue(entity);
-      Preconditions.checkNotNull(indexValue, "Null index value for %s in type %s.",
-        name, type.getName());
+      Objects.requireNonNull(indexValue, () ->
+        String.format(
+          "Null index value for %s in type %s.", Arrays.toString(name), type.getName()));
       byte[] entityKey = start(prefix, indexValue);
       if (!isNatural) {
         entityKey = buildKey(false, entityKey, toKey(naturalIndex().getValue(entity)));
@@ -333,8 +336,9 @@ class RocksDBTypeInfo {
         byte[] naturalKey,
         byte[] prefix) throws Exception {
       Object indexValue = getValue(entity);
-      Preconditions.checkNotNull(indexValue, "Null index value for %s in type %s.",
-        name, type.getName());
+      Objects.requireNonNull(indexValue, () ->
+        String.format(
+          "Null index value for %s in type %s.", Arrays.toString(name), type.getName()));
 
       byte[] entityKey = start(prefix, indexValue);
       if (!isNatural) {
diff --git a/common/network-common/src/main/java/org/apache/spark/network/client/TransportClient.java b/common/network-common/src/main/java/org/apache/spark/network/client/TransportClient.java
index 071c239e7bf1..2670ff4732af 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/client/TransportClient.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/client/TransportClient.java
@@ -21,6 +21,7 @@ import java.io.Closeable;
 import java.io.IOException;
 import java.net.SocketAddress;
 import java.nio.ByteBuffer;
+import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
@@ -79,8 +80,8 @@ public class TransportClient implements Closeable {
   private volatile boolean timedOut;
 
   public TransportClient(Channel channel, TransportResponseHandler handler) {
-    this.channel = Preconditions.checkNotNull(channel);
-    this.handler = Preconditions.checkNotNull(handler);
+    this.channel = Objects.requireNonNull(channel);
+    this.handler = Objects.requireNonNull(handler);
     this.timedOut = false;
   }
 
diff --git a/common/network-common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java b/common/network-common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java
index 74111a22e72d..a6fedf5896c7 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/client/TransportClientFactory.java
@@ -22,13 +22,13 @@ import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.util.List;
+import java.util.Objects;
 import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicReference;
 
 import com.codahale.metrics.MetricSet;
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
 import io.netty.bootstrap.Bootstrap;
@@ -100,9 +100,9 @@ public class TransportClientFactory implements Closeable {
   public TransportClientFactory(
       TransportContext context,
       List<TransportClientBootstrap> clientBootstraps) {
-    this.context = Preconditions.checkNotNull(context);
+    this.context = Objects.requireNonNull(context);
     this.conf = context.getConf();
-    this.clientBootstraps = Lists.newArrayList(Preconditions.checkNotNull(clientBootstraps));
+    this.clientBootstraps = Lists.newArrayList(Objects.requireNonNull(clientBootstraps));
     this.connectionPool = new ConcurrentHashMap<>();
     this.numConnectionsPerPeer = conf.numConnectionsPerPeer();
     this.rand = new Random();
diff --git a/common/network-common/src/main/java/org/apache/spark/network/crypto/AuthEngine.java b/common/network-common/src/main/java/org/apache/spark/network/crypto/AuthEngine.java
index 8449a774a404..d35c7e920eef 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/crypto/AuthEngine.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/crypto/AuthEngine.java
@@ -21,6 +21,7 @@ import javax.crypto.spec.SecretKeySpec;
 import java.io.Closeable;
 import java.security.GeneralSecurityException;
 import java.util.Arrays;
+import java.util.Objects;
 import java.util.Properties;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -61,10 +62,8 @@ class AuthEngine implements Closeable {
   private TransportCipher sessionCipher;
 
   AuthEngine(String appId, String preSharedSecret, TransportConf conf) {
-    Preconditions.checkNotNull(appId);
-    Preconditions.checkNotNull(preSharedSecret);
-    this.appId = appId;
-    this.preSharedSecret = preSharedSecret.getBytes(UTF_8);
+    this.appId = Objects.requireNonNull(appId);
+    this.preSharedSecret = Objects.requireNonNull(preSharedSecret).getBytes(UTF_8);
     this.conf = conf;
     this.cryptoConf = conf.cryptoConf();
     // This is for backward compatibility with version 1.0 of this protocol,
diff --git a/common/network-common/src/main/java/org/apache/spark/network/sasl/SparkSaslServer.java b/common/network-common/src/main/java/org/apache/spark/network/sasl/SparkSaslServer.java
index f32fd5145c7c..24e01c924ef3 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/sasl/SparkSaslServer.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/sasl/SparkSaslServer.java
@@ -29,8 +29,8 @@ import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
 import java.nio.charset.StandardCharsets;
 import java.util.Map;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
@@ -182,13 +182,13 @@ public class SparkSaslServer implements SaslEncryptionBackend {
 
   /* Encode a byte[] identifier as a Base64-encoded string. */
   public static String encodeIdentifier(String identifier) {
-    Preconditions.checkNotNull(identifier, "User cannot be null if SASL is enabled");
+    Objects.requireNonNull(identifier, "User cannot be null if SASL is enabled");
     return getBase64EncodedString(identifier);
   }
 
   /** Encode a password as a base64-encoded char[] array. */
   public static char[] encodePassword(String password) {
-    Preconditions.checkNotNull(password, "Password cannot be null if SASL is enabled");
+    Objects.requireNonNull(password, "Password cannot be null if SASL is enabled");
     return getBase64EncodedString(password).toCharArray();
   }
 
diff --git a/common/network-common/src/main/java/org/apache/spark/network/server/BlockPushNonFatalFailure.java b/common/network-common/src/main/java/org/apache/spark/network/server/BlockPushNonFatalFailure.java
index f60a74670d14..576cddc24a19 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/server/BlockPushNonFatalFailure.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/server/BlockPushNonFatalFailure.java
@@ -18,6 +18,7 @@
 package org.apache.spark.network.server;
 
 import java.nio.ByteBuffer;
+import java.util.Objects;
 
 import com.google.common.base.Preconditions;
 
@@ -101,14 +102,12 @@ public class BlockPushNonFatalFailure extends RuntimeException {
 
   public ByteBuffer getResponse() {
     // Ensure we do not invoke this method if response is not set
-    Preconditions.checkNotNull(response);
-    return response;
+    return Objects.requireNonNull(response);
   }
 
   public ReturnCode getReturnCode() {
     // Ensure we do not invoke this method if returnCode is not set
-    Preconditions.checkNotNull(returnCode);
-    return returnCode;
+    return Objects.requireNonNull(returnCode);
   }
 
   public enum ReturnCode {
diff --git a/common/network-common/src/main/java/org/apache/spark/network/server/OneForOneStreamManager.java b/common/network-common/src/main/java/org/apache/spark/network/server/OneForOneStreamManager.java
index 295132748a94..ee03c115345c 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/server/OneForOneStreamManager.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/server/OneForOneStreamManager.java
@@ -19,6 +19,7 @@ package org.apache.spark.network.server;
 
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
@@ -71,7 +72,7 @@ public class OneForOneStreamManager extends StreamManager {
         Channel channel,
         boolean isBufferMaterializedOnNext) {
       this.appId = appId;
-      this.buffers = Preconditions.checkNotNull(buffers);
+      this.buffers = Objects.requireNonNull(buffers);
       this.associatedChannel = channel;
       this.isBufferMaterializedOnNext = isBufferMaterializedOnNext;
     }
diff --git a/common/network-common/src/main/java/org/apache/spark/network/server/TransportServer.java b/common/network-common/src/main/java/org/apache/spark/network/server/TransportServer.java
index 842dc7058a48..1a1f4723f572 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/server/TransportServer.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/server/TransportServer.java
@@ -20,11 +20,11 @@ package org.apache.spark.network.server;
 import java.io.Closeable;
 import java.net.InetSocketAddress;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
 import com.codahale.metrics.Counter;
 import com.codahale.metrics.MetricSet;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.buffer.PooledByteBufAllocator;
@@ -76,7 +76,7 @@ public class TransportServer implements Closeable {
       this.pooledAllocator = NettyUtils.createPooledByteBufAllocator(
           conf.preferDirectBufs(), true /* allowCache */, conf.serverThreads());
     }
-    this.bootstraps = Lists.newArrayList(Preconditions.checkNotNull(bootstraps));
+    this.bootstraps = Lists.newArrayList(Objects.requireNonNull(bootstraps));
 
     boolean shouldClose = true;
     try {
diff --git a/common/network-common/src/main/java/org/apache/spark/network/util/LimitedInputStream.java b/common/network-common/src/main/java/org/apache/spark/network/util/LimitedInputStream.java
index e6cf02a590e2..9bac3a2e6f77 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/util/LimitedInputStream.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/util/LimitedInputStream.java
@@ -21,6 +21,7 @@ package org.apache.spark.network.util;
 import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Objects;
 
 import com.google.common.base.Preconditions;
 
@@ -50,9 +51,8 @@ public final class LimitedInputStream extends FilterInputStream {
    * @param closeWrappedStream whether to close {@code in} when {@link #close} is called
      */
   public LimitedInputStream(InputStream in, long limit, boolean closeWrappedStream) {
-    super(in);
+    super(Objects.requireNonNull(in));
     this.closeWrappedStream = closeWrappedStream;
-    Preconditions.checkNotNull(in);
     Preconditions.checkArgument(limit >= 0, "limit must be non-negative");
     left = limit;
   }
diff --git a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/AppsWithRecoveryDisabled.java b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/AppsWithRecoveryDisabled.java
index 6a029a1083a4..7a0b316a3a8e 100644
--- a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/AppsWithRecoveryDisabled.java
+++ b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/AppsWithRecoveryDisabled.java
@@ -18,11 +18,10 @@
 package org.apache.spark.network.shuffle;
 
 import java.util.Collections;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import com.google.common.base.Preconditions;
-
 /**
  * Stores the applications which have recovery disabled.
  */
@@ -41,8 +40,7 @@ public final class AppsWithRecoveryDisabled {
    * @param appId application id
    */
   public static void disableRecoveryOfApp(String appId) {
-    Preconditions.checkNotNull(appId);
-    INSTANCE.appsWithRecoveryDisabled.add(appId);
+    INSTANCE.appsWithRecoveryDisabled.add(Objects.requireNonNull(appId));
   }
 
   /**
@@ -51,8 +49,7 @@ public final class AppsWithRecoveryDisabled {
    * @return true if the application is enabled for recovery; false otherwise.
    */
   public static boolean isRecoveryEnabledForApp(String appId) {
-    Preconditions.checkNotNull(appId);
-    return !INSTANCE.appsWithRecoveryDisabled.contains(appId);
+    return !INSTANCE.appsWithRecoveryDisabled.contains(Objects.requireNonNull(appId));
   }
 
   /**
@@ -60,7 +57,6 @@ public final class AppsWithRecoveryDisabled {
    * @param appId application id
    */
   public static void removeApp(String appId) {
-    Preconditions.checkNotNull(appId);
-    INSTANCE.appsWithRecoveryDisabled.remove(appId);
+    INSTANCE.appsWithRecoveryDisabled.remove(Objects.requireNonNull(appId));
   }
 }
diff --git a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalBlockHandler.java b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalBlockHandler.java
index 6958889995f1..64283fb6b2c2 100644
--- a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalBlockHandler.java
+++ b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/ExternalBlockHandler.java
@@ -23,6 +23,7 @@ import java.nio.ByteBuffer;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
@@ -35,7 +36,6 @@ import com.codahale.metrics.RatioGauge;
 import com.codahale.metrics.Timer;
 import com.codahale.metrics.Counter;
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Sets;
 
 import org.apache.spark.internal.SparkLogger;
@@ -585,7 +585,7 @@ public class ExternalBlockHandler extends RpcHandler
 
     @Override
     public ManagedBuffer next() {
-      ManagedBuffer block = Preconditions.checkNotNull(mergeManager.getMergedBlockData(
+      ManagedBuffer block = Objects.requireNonNull(mergeManager.getMergedBlockData(
         appId, shuffleId, shuffleMergeId, reduceIds[reduceIdx], chunkIds[reduceIdx][chunkIdx]));
       if (chunkIdx < chunkIds[reduceIdx].length - 1) {
         chunkIdx += 1;
diff --git a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/MergedBlockMeta.java b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/MergedBlockMeta.java
index 5541b7460ac9..ca8d9bbe6550 100644
--- a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/MergedBlockMeta.java
+++ b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/MergedBlockMeta.java
@@ -20,8 +20,8 @@ package org.apache.spark.network.shuffle;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import org.roaringbitmap.RoaringBitmap;
@@ -43,7 +43,7 @@ public class MergedBlockMeta {
 
   public MergedBlockMeta(int numChunks, ManagedBuffer chunksBitmapBuffer) {
     this.numChunks = numChunks;
-    this.chunksBitmapBuffer = Preconditions.checkNotNull(chunksBitmapBuffer);
+    this.chunksBitmapBuffer = Objects.requireNonNull(chunksBitmapBuffer);
   }
 
   public int getNumChunks() {
diff --git a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockPushReturnCode.java b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockPushReturnCode.java
index 891ca7902f86..f4149b6875b2 100644
--- a/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockPushReturnCode.java
+++ b/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockPushReturnCode.java
@@ -19,7 +19,6 @@ package org.apache.spark.network.shuffle.protocol;
 
 import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import io.netty.buffer.ByteBuf;
 
 import org.apache.spark.network.protocol.Encoders;
@@ -41,7 +40,7 @@ public class BlockPushReturnCode extends BlockTransferMessage {
   public final String failureBlockId;
 
   public BlockPushReturnCode(byte returnCode, String failureBlockId) {
-    Preconditions.checkNotNull(BlockPushNonFatalFailure.getReturnCode(returnCode));
+    Objects.requireNonNull(BlockPushNonFatalFailure.getReturnCode(returnCode));
     this.returnCode = returnCode;
     this.failureBlockId = failureBlockId;
   }
diff --git a/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java b/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java
index cc8a0cd719fd..06e1efbb87e5 100644
--- a/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java
+++ b/common/network-yarn/src/main/java/org/apache/spark/network/yarn/YarnShuffleService.java
@@ -31,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
@@ -546,7 +545,7 @@ public class YarnShuffleService extends AuxiliaryService {
    * and DB exists in the local dir of NM by old version of shuffle service.
    */
   protected File initRecoveryDb(String dbName) {
-    Preconditions.checkNotNull(_recoveryPath,
+    Objects.requireNonNull(_recoveryPath,
       "recovery path should not be null if NM recovery is enabled");
 
     File recoveryFile = new File(_recoveryPath.toUri().getPath(), dbName);
diff --git a/core/src/main/java/org/apache/spark/api/java/Optional.java b/core/src/main/java/org/apache/spark/api/java/Optional.java
index 362149c92145..913ed966668d 100644
--- a/core/src/main/java/org/apache/spark/api/java/Optional.java
+++ b/core/src/main/java/org/apache/spark/api/java/Optional.java
@@ -20,8 +20,6 @@ package org.apache.spark.api.java;
 import java.io.Serializable;
 import java.util.Objects;
 
-import com.google.common.base.Preconditions;
-
 /**
  * <p>Like {@code java.util.Optional} in Java 8, {@code scala.Option} in Scala, and
  * {@code com.google.common.base.Optional} in Google Guava, this class represents a
@@ -71,8 +69,7 @@ public final class Optional<T> implements Serializable {
   }
 
   private Optional(T value) {
-    Preconditions.checkNotNull(value);
-    this.value = value;
+    this.value = Objects.requireNonNull(value);
   }
 
   // java.util.Optional API (subset)
@@ -112,8 +109,7 @@ public final class Optional<T> implements Serializable {
    * @throws NullPointerException if this is empty (contains no value)
    */
   public T get() {
-    Preconditions.checkNotNull(value);
-    return value;
+    return Objects.requireNonNull(value);
   }
 
   /**
diff --git a/dev/checkstyle.xml b/dev/checkstyle.xml
index d60cdc2c4091..1dd24bdc3047 100644
--- a/dev/checkstyle.xml
+++ b/dev/checkstyle.xml
@@ -253,6 +253,10 @@
             <property name="format" value="CharStreams\.toString"/>
             <property name="message" value="Use toString of SparkStreamUtils or Utils instead." />
         </module>
+        <module name="RegexpSinglelineJava">
+            <property name="format" value="Preconditions\.checkNotNull"/>
+            <property name="message" value="Use requireNonNull of java.util.Objects instead." />
+        </module>
         <!-- support structured logging -->
         <module name="RegexpSinglelineJava">
             <property name="format" value="org\.slf4j\.(Logger|LoggerFactory)" />
diff --git a/scalastyle-config.xml b/scalastyle-config.xml
index 547bd84e1daa..b46d996c89c8 100644
--- a/scalastyle-config.xml
+++ b/scalastyle-config.xml
@@ -786,4 +786,9 @@ This file is divided into 3 sections:
     <parameters><parameter name="regex">com\.google\.common\.io\.BaseEncoding\b</parameter></parameters>
     <customMessage>Use Java APIs (like java.util.Base64) instead.</customMessage>
   </check>
+
+  <check customId="preconditionschecknotnull" level="error" class="org.scalastyle.file.RegexChecker" enabled="true">
+    <parameters><parameter name="regex">\bPreconditions\.checkNotNull\b</parameter></parameters>
+    <customMessage>Use requireNonNull of java.util.Objects instead.</customMessage>
+  </check>
 </scalastyle>
diff --git a/sql/api/src/main/java/org/apache/spark/sql/connector/catalog/IdentifierImpl.java b/sql/api/src/main/java/org/apache/spark/sql/connector/catalog/IdentifierImpl.java
index ba883b8042c4..d209a540823c 100644
--- a/sql/api/src/main/java/org/apache/spark/sql/connector/catalog/IdentifierImpl.java
+++ b/sql/api/src/main/java/org/apache/spark/sql/connector/catalog/IdentifierImpl.java
@@ -17,8 +17,6 @@
 
 package org.apache.spark.sql.connector.catalog;
 
-import org.apache.arrow.util.Preconditions;
-
 import java.util.Arrays;
 import java.util.Objects;
 import java.util.StringJoiner;
@@ -36,10 +34,8 @@ class IdentifierImpl implements Identifier {
   private String name;
 
   IdentifierImpl(String[] namespace, String name) {
-    Preconditions.checkNotNull(namespace, "Identifier namespace cannot be null");
-    Preconditions.checkNotNull(name, "Identifier name cannot be null");
-    this.namespace = namespace;
-    this.name = name;
+    this.namespace = Objects.requireNonNull(namespace, "Identifier namespace cannot be null");
+    this.name = Objects.requireNonNull(name, "Identifier name cannot be null");
   }
 
   @Override
diff --git a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableInfo.java b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableInfo.java
index 8dc71c5aee47..fff5c9ebbd3d 100644
--- a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableInfo.java
+++ b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableInfo.java
@@ -16,14 +16,14 @@
  */
 package org.apache.spark.sql.connector.catalog;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import java.util.Map;
+import java.util.Objects;
+
 import com.google.common.collect.Maps;
 import org.apache.spark.sql.connector.catalog.constraints.Constraint;
 import org.apache.spark.sql.connector.expressions.Transform;
 import org.apache.spark.sql.types.StructType;
 
-import java.util.Map;
-
 public class TableInfo {
 
   private final Column[] columns;
@@ -87,7 +87,7 @@ public class TableInfo {
     }
 
     public TableInfo build() {
-      checkNotNull(columns, "columns should not be null");
+      Objects.requireNonNull(columns, "columns should not be null");
       return new TableInfo(this);
     }
   }
diff --git a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableSummary.java b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableSummary.java
index e08f83b98319..8f46a372342a 100644
--- a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableSummary.java
+++ b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/catalog/TableSummary.java
@@ -17,9 +17,9 @@
 
 package org.apache.spark.sql.connector.catalog;
 
-import org.apache.spark.annotation.Evolving;
+import java.util.Objects;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import org.apache.spark.annotation.Evolving;
 
 @Evolving
 public interface TableSummary {
@@ -38,7 +38,7 @@ public interface TableSummary {
 
 record TableSummaryImpl(Identifier identifier, String tableType) implements TableSummary {
     TableSummaryImpl {
-        checkNotNull(identifier, "Identifier of a table summary object cannot be null");
-        checkNotNull(tableType, "Table type of a table summary object cannot be null");
+      Objects.requireNonNull(identifier, "Identifier of a table summary object cannot be null");
+      Objects.requireNonNull(tableType, "Table type of a table summary object cannot be null");
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org