This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 7499de3e2b4a [SPARK-54239][BUILD] Bump Guava 33.4.8
7499de3e2b4a is described below
commit 7499de3e2b4a7825f3f2ee883f44286a84a1ef35
Author: Cheng Pan <[email protected]>
AuthorDate: Sat Nov 8 07:54:28 2025 -0800
[SPARK-54239][BUILD] Bump Guava 33.4.8
### What changes were proposed in this pull request?
This PR bumps Guava from 33.4.0 to 33.4.8, the latest patch version of 33.4
serial.
The release notes can be found at
- https://github.com/google/guava/releases/tag/v33.4.8
- https://github.com/google/guava/releases/tag/v33.4.1 (this contains more
info)
As mentioned in the release notes, it migrates from jsr305 to jspecify,
thus causes some transitive deps changes
https://mvnrepository.com/artifact/com.google.guava/guava/33.4.0-jre
https://mvnrepository.com/artifact/com.google.guava/guava/33.4.8-jre
```patch
- com.google.code.findbugs:jsr305:3.0.2
- org.checkerframework:checker-qual:3.34.0
+ org.jspecify:jspecify:1.0.0
```
Note, the transitive deps change does not affect the Maven package because
we use the white list to declare the included deps for shaded jars.
### Why are the changes needed?
The current Guava 33.4.0 used by Spark was released in Dec 17, 2024. This
upgrades it to the latest patched version (instead of 33.5.0) to make it align
with gRPC 1.76.0 (this is not enforced, but nice to have)
https://mvnrepository.com/artifact/io.grpc/grpc-api/1.76.0
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Pass GHA.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #52939 from pan3793/guava-33.4.8.
Authored-by: Cheng Pan <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
(cherry picked from commit 9289c4349ed3cb0f52b88c1777a531d0584e6a0c)
Signed-off-by: Dongjoon Hyun <[email protected]>
---
dev/deps/spark-deps-hadoop-3-hive-2.3 | 4 ++--
pom.xml | 4 ++--
project/SparkBuild.scala | 16 ++++++++--------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dev/deps/spark-deps-hadoop-3-hive-2.3
b/dev/deps/spark-deps-hadoop-3-hive-2.3
index 3bf4d78f5023..5d619db2a75e 100644
--- a/dev/deps/spark-deps-hadoop-3-hive-2.3
+++ b/dev/deps/spark-deps-hadoop-3-hive-2.3
@@ -62,12 +62,12 @@ derbyshared/10.16.1.1//derbyshared-10.16.1.1.jar
derbytools/10.16.1.1//derbytools-10.16.1.1.jar
dropwizard-metrics-hadoop-metrics2-reporter/0.1.2//dropwizard-metrics-hadoop-metrics2-reporter-0.1.2.jar
esdk-obs-java/3.20.4.2//esdk-obs-java-3.20.4.2.jar
-failureaccess/1.0.2//failureaccess-1.0.2.jar
+failureaccess/1.0.3//failureaccess-1.0.3.jar
flatbuffers-java/25.2.10//flatbuffers-java-25.2.10.jar
gcs-connector/hadoop3-2.2.28/shaded/gcs-connector-hadoop3-2.2.28-shaded.jar
gmetric4j/1.0.10//gmetric4j-1.0.10.jar
gson/2.11.0//gson-2.11.0.jar
-guava/33.4.0-jre//guava-33.4.0-jre.jar
+guava/33.4.8-jre//guava-33.4.8-jre.jar
hadoop-aliyun/3.4.2//hadoop-aliyun-3.4.2.jar
hadoop-annotations/3.4.2//hadoop-annotations-3.4.2.jar
hadoop-aws/3.4.2//hadoop-aws-3.4.2.jar
diff --git a/pom.xml b/pom.xml
index d2469b11b3ab..073ecf08b2e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -198,8 +198,8 @@
<!-- org.apache.commons/commons-pool2/-->
<commons-pool2.version>2.12.1</commons-pool2.version>
<datanucleus-core.version>4.1.17</datanucleus-core.version>
- <guava.version>33.4.0-jre</guava.version>
- <guava.failureaccess.version>1.0.2</guava.failureaccess.version>
+ <guava.version>33.4.8-jre</guava.version>
+ <guava.failureaccess.version>1.0.3</guava.failureaccess.version>
<gson.version>2.11.0</gson.version>
<janino.version>3.1.9</janino.version>
<jersey.version>3.0.18</jersey.version>
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index 6b9bc8df5ce4..7a4c3f0828d0 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -881,17 +881,17 @@ object SparkConnectJdbc {
// Exclude `scala-library` from assembly.
(assembly / assemblyPackageScala / assembleArtifact) := false,
- // Exclude `pmml-model-*.jar`, `scala-collection-compat_*.jar`,
`jsr305-*.jar`,
+ // Exclude `pmml-model-*.jar`, `scala-collection-compat_*.jar`,
`jspecify-*.jar`,
// `error_prone_annotations-*.jar`,
`listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar`,
- // `j2objc-annotations-*.jar`, `checker-qual-*.jar` and `unused-1.0.0.jar`
from assembly.
+ // `j2objc-annotations-*.jar` and `unused-1.0.0.jar` from assembly.
(assembly / assemblyExcludedJars) := {
val cp = (assembly / fullClasspath).value
cp filter { v =>
val name = v.data.getName
name.startsWith("pmml-model-") ||
name.startsWith("scala-collection-compat_") ||
- name.startsWith("jsr305-") ||
name.startsWith("error_prone_annotations") ||
+ name.startsWith("jspecify-") ||
name.startsWith("error_prone_annotations") ||
name.startsWith("listenablefuture") ||
name.startsWith("j2objc-annotations") ||
- name.startsWith("checker-qual") || name == "unused-1.0.0.jar"
+ name == "unused-1.0.0.jar"
}
},
// Only include `spark-connect-client-jdbc-*.jar`
@@ -971,17 +971,17 @@ object SparkConnectClient {
// Exclude `scala-library` from assembly.
(assembly / assemblyPackageScala / assembleArtifact) := false,
- // Exclude `pmml-model-*.jar`, `scala-collection-compat_*.jar`,
`jsr305-*.jar`,
+ // Exclude `pmml-model-*.jar`, `scala-collection-compat_*.jar`,
`jspecify-*.jar`,
// `error_prone_annotations-*.jar`,
`listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar`,
- // `j2objc-annotations-*.jar`, `checker-qual-*.jar` and `unused-1.0.0.jar`
from assembly.
+ // `j2objc-annotations-*.jar` and `unused-1.0.0.jar` from assembly.
(assembly / assemblyExcludedJars) := {
val cp = (assembly / fullClasspath).value
cp filter { v =>
val name = v.data.getName
name.startsWith("pmml-model-") ||
name.startsWith("scala-collection-compat_") ||
- name.startsWith("jsr305-") ||
name.startsWith("error_prone_annotations") ||
+ name.startsWith("jspecify-") ||
name.startsWith("error_prone_annotations") ||
name.startsWith("listenablefuture") ||
name.startsWith("j2objc-annotations") ||
- name.startsWith("checker-qual") || name == "unused-1.0.0.jar"
+ name == "unused-1.0.0.jar"
}
},
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]