-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-54190][BUILD] Guava dependency governance #52873
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
base: master
Are you sure you want to change the base?
Conversation
0ea7f55 to
cf86e73
Compare
| <include>io.perfmark:*</include> | ||
| <include>org.apache.arrow:*</include> | ||
| <include>org.codehaus.mojo:*</include> | ||
| <include>org.checkerframework:*</include> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure that checkerframework won't be used? Although it will be removed after Guava version 33.5.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is documented in Guava Wiki
Guava has one dependency that is needed for linkage at runtime: com.google.guava:failureaccess:1.0.3. We created it as part of making ListenableFuture available as a separate artifact from the rest of Guava.
https://github.com/google/guava/wiki/UseGuavaInYourBuild#what-about-guavas-own-dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, currently, in spark-network-common, it only shades the guava and failureaccess
It seems that the changes will have a negative impact on Maven testing. |
|
@LuciferYang, thanks for checking Maven case, let me take a look |
|
@LuciferYang, the above conclusion is obsolete after #52918 |
| permissions: | ||
| packages: write | ||
| name: Run | ||
| uses: ./.github/workflows/maven_test.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will revert after passing maven tests
201306c to
837b509
Compare
|
@LuciferYang now the Maven CI passes https://github.com/pan3793/spark/actions/runs/19113370178 except for the existing two failed cases, caused by #52496 (comment), could you please take another look? |
This reverts commit 2a42a4e.
|
since #52918 fixes the maven testing issue, let me retry removing shaded guava from connect-server |
What changes were proposed in this pull request?
Remove
connect.guava.versionand use the unifiedguava.version.Strip the unused transitive dependencies of Guava:
as mentioned in https://github.com/google/guava/wiki/UseGuavaInYourBuild
Fix the shading leaks of the
spark-connect-jvm-clientjarWhy are the changes needed?
Simplify Guava dependency management - now Spark uses a unified Guava version everywhere.
Fix the shading leaks for
spark-connect-jvm-clientjarbefore (master branch)
after (this PR)
Does this PR introduce any user-facing change?
Reduce potential class conflict issues for users who use
spark-connect-jvm-client.How was this patch tested?
Manually checked, see the above section.
Also, manually tested the Connect Server, and Connect JVM client via BeeLine.
Was this patch authored or co-authored using generative AI tooling?
No.