This is an automated email from the ASF dual-hosted git repository. yangjie01 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 aa1f7f11d939 [SPARK-53261][CORE][SQL] Use Java `String.join|StringJoiner` instead of Guava `Joiner` aa1f7f11d939 is described below commit aa1f7f11d939e64c62148104400740781e301f30 Author: yangjie01 <yangji...@baidu.com> AuthorDate: Wed Aug 13 10:59:51 2025 +0800 [SPARK-53261][CORE][SQL] Use Java `String.join|StringJoiner` instead of Guava `Joiner` ### What changes were proposed in this pull request? This pull request replaces `com.google.common.base.Joiner#join` with `java.lang.String#join`|`java.util.StringJoiner`. ### Why are the changes needed? Give priority to using methods within the 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 #51992 from LuciferYang/joiner. Authored-by: yangjie01 <yangji...@baidu.com> Signed-off-by: yangjie01 <yangji...@baidu.com> --- core/src/main/java/org/apache/spark/util/EnumUtil.java | 13 +++++++++++-- dev/checkstyle.xml | 1 + scalastyle-config.xml | 5 +++++ .../hive/service/cli/operation/LogDivertAppender.java | 13 ++++++------- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/org/apache/spark/util/EnumUtil.java b/core/src/main/java/org/apache/spark/util/EnumUtil.java index c40c7e727613..6c397640590f 100644 --- a/core/src/main/java/org/apache/spark/util/EnumUtil.java +++ b/core/src/main/java/org/apache/spark/util/EnumUtil.java @@ -16,7 +16,8 @@ */ package org.apache.spark.util; -import com.google.common.base.Joiner; +import java.util.StringJoiner; + import org.apache.spark.annotation.Private; @Private @@ -33,6 +34,14 @@ public class EnumUtil { } throw new IllegalArgumentException( String.format("Illegal type='%s'. Supported type values: %s", - str, Joiner.on(", ").join(constants))); + str, joinToString(constants))); + } + + private static <E extends Enum<E>> String joinToString(E[] enums) { + StringJoiner stringJoiner = new StringJoiner(", "); + for (E e : enums) { + stringJoiner.add(e.name()); + } + return stringJoiner.toString(); } } diff --git a/dev/checkstyle.xml b/dev/checkstyle.xml index 8bad02a93394..4cf26871a8db 100644 --- a/dev/checkstyle.xml +++ b/dev/checkstyle.xml @@ -192,6 +192,7 @@ <property name="illegalClasses" value="org.apache.commons.lang3.SystemUtils" /> <property name="illegalClasses" value="org.apache.hadoop.io.IOUtils" /> <property name="illegalClasses" value="org.apache.parquet.Preconditions" /> + <property name="illegalClasses" value="com.google.common.base.Joiner" /> <property name="illegalClasses" value="com.google.common.base.Objects" /> <property name="illegalClasses" value="com.google.common.base.Preconditions" /> <property name="illegalClasses" value="com.google.common.base.Strings" /> diff --git a/scalastyle-config.xml b/scalastyle-config.xml index ca8e85cd2960..f9b260e14c6f 100644 --- a/scalastyle-config.xml +++ b/scalastyle-config.xml @@ -812,6 +812,11 @@ This file is divided into 3 sections: <customMessage>Use Java APIs (like java.util.Objects) instead.</customMessage> </check> + <check customId="googleJoiner" level="error" class="org.scalastyle.file.RegexChecker" enabled="true"> + <parameters><parameter name="regex">com\.google\.common\.base\.Joiner\b</parameter></parameters> + <customMessage>Use Java APIs (like String.join/StringJoiner) instead.</customMessage> + </check> + <check customId="googleBaseEncoding" level="error" class="org.scalastyle.file.RegexChecker" enabled="true"> <parameters><parameter name="regex">com\.google\.common\.io\.BaseEncoding\b</parameter></parameters> <customMessage>Use Java APIs (like java.util.Base64) instead.</customMessage> diff --git a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/LogDivertAppender.java b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/LogDivertAppender.java index 32cc42f008bd..2a54d2619061 100644 --- a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/LogDivertAppender.java +++ b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/operation/LogDivertAppender.java @@ -38,7 +38,6 @@ import org.apache.logging.log4j.core.Appender; import org.apache.logging.log4j.core.appender.ConsoleAppender; import org.apache.logging.log4j.core.appender.AbstractWriterAppender; import org.apache.logging.log4j.core.appender.WriterManager; -import com.google.common.base.Joiner; import org.apache.logging.log4j.core.config.Property; import org.apache.logging.log4j.message.Message; @@ -67,17 +66,17 @@ public class LogDivertAppender extends AbstractWriterAppender<WriterManager> { /* Patterns that are excluded in verbose logging level. * Filter out messages coming from log processing classes, or we'll run an infinite loop. */ - private static final Pattern verboseExcludeNamePattern = Pattern.compile(Joiner.on("|") - .join(new String[] {LOG.getName(), OperationLog.class.getName(), - OperationManager.class.getName()})); + private static final Pattern verboseExcludeNamePattern = Pattern.compile(String.join("|", + LOG.getName(), OperationLog.class.getName(), + OperationManager.class.getName())); /* Patterns that are included in execution logging level. * In execution mode, show only select logger messages. */ - private static final Pattern executionIncludeNamePattern = Pattern.compile(Joiner.on("|") - .join(new String[] {"org.apache.hadoop.mapreduce.JobSubmitter", + private static final Pattern executionIncludeNamePattern = Pattern.compile(String.join("|", + "org.apache.hadoop.mapreduce.JobSubmitter", "org.apache.hadoop.mapreduce.Job", "SessionState", Task.class.getName(), - "org.apache.hadoop.hive.ql.exec.spark.status.SparkJobMonitor"})); + "org.apache.hadoop.hive.ql.exec.spark.status.SparkJobMonitor")); /* Patterns that are included in performance logging level. * In performance mode, show execution and performance logger messages. --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org