Skip to content

Conversation

@Fokko
Copy link
Contributor

@Fokko Fokko commented Apr 3, 2018

Currently Spark is still on Guava 14.0.1, and therefore I would like to bump the version to 16.0.1.

Babysteps are important here, because we don't want to become incompatible with other technology stacks, but 14.0.1 is getting old. HashCodes has been deprecated in favor of HashCode.

https://issues.apache.org/jira/projects/SPARK/issues/SPARK-23854

What changes were proposed in this pull request?

To stay compatible with the software that uses a later version of Guava.

How was this patch tested?

(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Running the testsuite

Please review http://spark.apache.org/contributing.html before opening a pull request.

Update the version of Guava to a more recent one. HashCodes has been
deprecated in favor of HashCode.
@hvanhovell
Copy link
Contributor

@Fokko upgrading guava has been notoriously hard to do, it is used in a lot Spark's dependencies and the guava developers aggressively remove deprecated APIs; updating can easily break stuff (missing methods that sort of thing).

I am not saying that we shouldn't do this, I am just saying that we should be super careful and that a minor release (2.4) of Spark might not be the best time. cc @JoshRosen @srowen who might be able to shed a bit more light on this.

@srowen
Copy link
Member

srowen commented Apr 3, 2018

Agree, this is the problem. If there is no actual improvement or fix in the upgrade here, no value in doing this.

@AmplabJenkins
Copy link

Can one of the admins verify this patch?

@Fokko
Copy link
Contributor Author

Fokko commented Apr 4, 2018

I think we should start updating Guava in small steps. In some of the application that I'm using, we're up to date at 24.1-jre. The 14.0.1 that is still from March 2013. I took the liberty to check the dependency tree of Apache Spark:

Hadoop 2.6.5 is still on 14.0.1:

[INFO] +- org.apache.hadoop:hadoop-client:jar:2.6.5:test
[INFO] |  +- org.apache.hadoop:hadoop-common:jar:2.6.5:test
[INFO] |  |  +- com.google.guava:guava:jar:14.0.1:provided

Jersey is running on a repackaged Guava:

[INFO] +- org.glassfish.jersey.core:jersey-common:jar:2.22.2:compile
[INFO] |  +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.22.2:compile

The rest is also still on 14.0.1:

[INFO] +- org.apache.orc:orc-mapreduce:jar:nohive:1.4.1:compile
[INFO] |  +- com.google.guava:guava:jar:14.0.1:provided
[INFO] +- org.apache.curator:curator-recipes:jar:2.6.0:provided
[INFO] |  +- org.apache.curator:curator-framework:jar:2.6.0:provided
[INFO] |  \- com.google.guava:guava:jar:14.0.1:provided

@hvanhovell
Copy link
Contributor

@Fokko you are kind of making my point here. Those dependencies rely on unshaded guava, if we upgrade our dependency then we might have to update those dependencies as well, which is probably not feasible.

Why - besides it being old - should we update?

@srowen srowen mentioned this pull request May 11, 2018
@asfgit asfgit closed this in 348ddfd May 12, 2018
zifeif2 pushed a commit to zifeif2/spark that referenced this pull request Nov 22, 2025
Closes apache#20458
Closes apache#20530
Closes apache#20557
Closes apache#20966
Closes apache#20857
Closes apache#19694
Closes apache#18227
Closes apache#20683
Closes apache#20881
Closes apache#20347
Closes apache#20825
Closes apache#20078

Closes apache#21281
Closes apache#19951
Closes apache#20905
Closes apache#20635

Author: Sean Owen <[email protected]>

Closes apache#21303 from srowen/ClosePRs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants