-
Notifications
You must be signed in to change notification settings - Fork 391
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
[#6270] (Improvement) unified cache framework #6271
base: main
Are you sure you want to change the base?
Conversation
lgtm |
I am concerned that this will introduce extra dependencies that may conflict with Spark runtime jars. Could you analysis which jars are introduced and could we shade them? |
@FANNG1 The dependency of caffeine is relatively simple, and there are currently no packages that conflict with Spark. Spark itself does not depend on caffeine, so there should be no need shade them yet |
@jerryshao WDYT? |
You should shade caffeine Because caffeine may be used by other projects like Iceberg. Caffeine is a common libary. |
ok, I got it, have another question, Do all references in Gravitino need to be shaded ? |
You just need to shade the common libraries. |
@jerqi I understand that it should be adding a 'spark-common-runtime' module, right? |
855f7ca
to
8fab887
Compare
No need. We should include |
8fab887
to
e2b73c1
Compare
e2b73c1
to
3c1a0dd
Compare
@@ -171,3 +174,18 @@ configurations { | |||
artifacts { | |||
add("testArtifacts", testJar) | |||
} | |||
|
|||
tasks.withType<ShadowJar>(ShadowJar::class.java) { |
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.
we could shade the jar in spark-runtime module, like spark-connector/v3.5/spark-runtime/build.gradle.kts
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.
Do we need to add this to every spark-runtime version package? Should we extract the common packages or handle them directly in the common module? This way, we can avoid redundant processing.
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.
I would be inclined to use @FANNG1 's way to shade jars in spark-runtime, so we don't have to do the shade in this common
component, and change all the implementation
to shadow
.
From a long term perspective, we are really supposed to be cautious when introducing new dependencies. We may need to revisit our existing ones and see if those are necessary. |
I'm inclined to the point of @tengqm , I doubt whether it's worthwhile to unify the cache framework by introducing another dependency. |
Cool. Then this PR is actually unifying caching to a single package? |
What changes were proposed in this pull request?
Unified cache framework
Why are the changes needed?
Fix: #6270
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
N/A