Skip to content

[SPARK-38262][BUILD] Upgrade Google guava to version 30.0-jre #35584

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

[SPARK-38262][BUILD] Upgrade Google guava to version 30.0-jre #35584

wants to merge 1 commit into from

Conversation

bjornjorgensen
Copy link
Contributor

@bjornjorgensen bjornjorgensen commented Feb 20, 2022

What changes were proposed in this pull request?

Bump Google guava from version 14.0.1 to 30.0-jre
Release notes for Google guava 30.0

Why are the changes needed?

Spark is using com.google.guava:guava version 14.0.1 which has two security issues.

CVE-2018-10237

CVE-2020-8908

Does this PR introduce any user-facing change?

NO

How was this patch tested?

All existing tests must pass.

@github-actions github-actions bot added the BUILD label Feb 20, 2022
@AmplabJenkins
Copy link

Can one of the admins verify this patch?

flatbuffers-java/1.12.0//flatbuffers-java-1.12.0.jar
generex/1.0.2//generex-1.0.2.jar
gmetric4j/1.0.10//gmetric4j-1.0.10.jar
gson/2.2.4//gson-2.2.4.jar
guava/14.0.1//guava-14.0.1.jar
guava/30.0-jre//guava-30.0-jre.jar
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to not use the latest 31.0.1-jre version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this PR is just to get rid of two CVE. I do not want to destroy existing code base. If you are a developer who needs and uses some of what is in newer code, then I recommend that you implement this yourself when you need it.

@LuciferYang
Copy link
Contributor

In fact, many people have tried similar jobs, such as SPARK-36676, but due to the cascading dependence of third-party libraries on Guava 14.0.1 (such as hive-2.3.9 and hadoop-2.7.4), in order to ensure the compatibility, it is not possible to upgrade the Guava version directly like this pr.

@bjornjorgensen
Copy link
Contributor Author

@LuciferYang Thank you :) I see that none of the other PRs that can be found have come up with the fact that today there are two CVEs for Google guava. What's a little weird about this is that I chose version 30.0-jre which is the first one without any known security holes. All the tests have passed. The difference is that for example 29326 or 33989 the tests fail.

@LuciferYang
Copy link
Contributor

@bjornjorgensen Can you test with hadoop-2 profile manually? GA just test with hadoop-3 profile now.

@LuciferYang
Copy link
Contributor

LuciferYang commented Feb 21, 2022

also ping @sunchao

@bjornjorgensen
Copy link
Contributor Author

@LuciferYang Oh yes, that might explain why my tests get green. But if we look at the problem differently. We actually use hadoop-common-2.7.4.jar
Now hadoop 2.10.1 This edition has fixed another CSV also CVE-2018- 8009 so the question now is whether the solution to the problem might be to update hadoop to version 2.10.1? And remove the link to google guava in spark?

@sunchao
Copy link
Member

sunchao commented Feb 21, 2022

Not only Hadoop, but Hive 2.3.x also has dependency on Guava 14.0.1. For Hadoop we can at least change Guava version accordingly but there's no workaround for Hive.

@bjornjorgensen
Copy link
Contributor Author

bjornjorgensen commented Feb 21, 2022

I have updated the JIRA for this issue SPARK-38262

I will close this PR now.

Thanks to @medb @LuciferYang and @sunchao for the help on this one :)

@JoshRosen JoshRosen mentioned this pull request Aug 17, 2022
dongjoon-hyun pushed a commit that referenced this pull request Sep 12, 2024
### What changes were proposed in this pull request?

This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

### Why are the changes needed?

It's a long-standing issue, see prior discussions at #35584, #36231, and #33989

### Does this PR introduce _any_ user-facing change?

Yes, some user-faced error messages changed.

### How was this patch tested?

GA passed.

Closes #42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
attilapiros pushed a commit to attilapiros/spark that referenced this pull request Oct 4, 2024
### What changes were proposed in this pull request?

This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

### Why are the changes needed?

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

### Does this PR introduce _any_ user-facing change?

Yes, some user-faced error messages changed.

### How was this patch tested?

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
himadripal pushed a commit to himadripal/spark that referenced this pull request Oct 19, 2024
### What changes were proposed in this pull request?

This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

### Why are the changes needed?

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

### Does this PR introduce _any_ user-facing change?

Yes, some user-faced error messages changed.

### How was this patch tested?

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
prabhjyotsingh pushed a commit to acceldata-io/spark3 that referenced this pull request Feb 8, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
prabhjyotsingh pushed a commit to acceldata-io/spark3 that referenced this pull request Feb 8, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
prabhjyotsingh pushed a commit to acceldata-io/spark3 that referenced this pull request Feb 8, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
prabhjyotsingh pushed a commit to acceldata-io/spark3 that referenced this pull request Feb 8, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
(cherry picked from commit e5cc252)
shubhluck pushed a commit to acceldata-io/spark3 that referenced this pull request May 16, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
senthh pushed a commit to acceldata-io/spark3 that referenced this pull request May 26, 2025
This PR upgrades Spark's built-in Guava from 14 to 33.2.1-jre

Currently, Spark uses Guava 14 because the previous built-in Hive 2.3.9 is incompatible with new Guava versions. HIVE-27560 (apache/hive#4542) makes Hive 2.3.10 compatible with Guava 14+ (thanks to LuciferYang)

It's a long-standing issue, see prior discussions at apache#35584, apache#36231, and apache#33989

Yes, some user-faced error messages changed.

GA passed.

Closes apache#42493 from pan3793/guava.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
(cherry picked from commit 1f24b2d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants