Uh oh!
There was an error while loading. Please reload this page.
[SPARK-30134][SQL] Support DELETE JAR feature in SPARK - #26777
[SPARK-30134][SQL] Support DELETE JAR feature in SPARK#26777sandeep-katta wants to merge 1 commit into
Conversation
sandeep-katta
commented
Dec 6, 2019
@wangyum@HyukjinKwon@dongjoon-hyun please review this |
AmplabJenkins
commented
Dec 6, 2019
Can one of the admins verify this patch? |
yaooqinn
commented
Dec 6, 2019
#13506, there is a similar one before |
sandeep-katta
commented
Dec 9, 2019
@srowen@cloud-fan could you guys please review this feature |
srowen
commented
Dec 9, 2019
I don't really see the use case for this, and would prefer not to add yet another API method, as per the last PR. The semantics are kind of funny as it's not clear whether the classes are unloaded and when |
Use case: if the jar’s function definition is changed , user can drop the jar and add back again without restarting the thrift server Earlier for any changes done to the jar it is required to restart the thrift server as it was added to classpath |
bcf1239 to
68e7330Comparemelin
commented
Dec 13, 2019
If the UDF function jar path does not change, only the update jar is overwritten, can you not start the thriftserver and take effect in real time? |
sandeep-katta
commented
Dec 14, 2019
yes once you update the jar restarting the thriftserver will work |
melin
commented
Dec 16, 2019
restarting can take effect, can take effect without restarting? |
sandeep-katta
commented
Dec 16, 2019
let me make it clear This PR aims at solving following use case,. user can update the jar definition and load to spark without restarting the thrift server. let's say I have jar myfunction.jar and I loaded to spark using Before this PR After this PR |
AngersZhuuuu
commented
Apr 15, 2020
@sandeep-katta |
diaolimin
commented
Oct 24, 2022
@sandeep-katta |
sandeep-katta
commented
Oct 24, 2022
@diaolimin unfortunately this fix is not merged, so you need to restart the thrift server to update the jar definition |
diaolimin
commented
Oct 24, 2022
@sandeep-katta I want to ask what is the problem? Can it be used in a production environment? |
sandeep-katta
commented
Oct 24, 2022
@diaolimin consensus were reached not to add new API like delete jar, so it was not merged. And also it is not production ready as this PR targets only one part of the umbrella jira but more or less if you follow above design then you should be good to implement |
What changes were proposed in this pull request?
Support DELETE JAR functionality in spark. On deletion the jar will be removed from the
IsolatedClientLoaderclasspath and fromSharedStateclasspath. It also removes the jar fromaddedJarsmap, so that next set of taskSet won't get these jarsSequence Diagram
IsolatedClientLoader.deleteJarDeletes the jar fromhiveClassLoaderand recreates the classLaoderSparkContext.deleteJarremoves the jar fromaddedJarslistSharedState.deleteJarRemoves the jar from the sessionState class LoaderWhy are the changes needed?
If the jar definition is changed, use can delete the jar and add new one. This process does not require service to be restarted. Even Hive supports the DELETE jar feature.
Does this PR introduce any user-facing change?
Yes, new feature will be introduced to the user. Same will be updated in documentation as per the jira SPARK-30135
How was this patch tested?
Added UT and also tested maually with the following testcases