-
Notifications
You must be signed in to change notification settings - Fork 28.3k
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
[SPARK-32119][CORE][3.0] ExecutorPlugin doesn't work with Standalone Cluster and Kubernetes with --jars #29621
Conversation
…er and Kubernetes with --jars ### What changes were proposed in this pull request? This PR changes Executor to load jars and files added by --jars and --files on Executor initialization. To avoid downloading those jars/files twice, they are assosiated with `startTime` as their uploaded timestamp. ### Why are the changes needed? ExecutorPlugin can't work with Standalone Cluster and Kubernetes when a jar which contains plugins and files used by the plugins are added by --jars and --files option with spark-submit. This is because jars and files added by --jars and --files are not loaded on Executor initialization. I confirmed it works with YARN because jars/files are distributed as distributed cache. ### Does this PR introduce _any_ user-facing change? Yes. jars/files added by --jars and --files are downloaded on each executor on initialization. ### How was this patch tested? Added a new testcase. Closes apache#28939 from sarutak/fix-plugin-issue. Authored-by: Kousuke Saruta <sarutak@oss.nttdata.com> Signed-off-by: Mridul Muralidharan <mridul<at>gmail.com>
…ovement in SPARK-32119 ### What changes were proposed in this pull request? Update monitoring doc following the improvement/fix in SPARK-32119. ### Why are the changes needed? SPARK-32119 removes the limitations listed in the monitoring doc "Distribution of the jar files containing the plugin code is currently not done by Spark." ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? Not relevant Closes apache#29463 from LucaCanali/followupSPARK32119. Authored-by: Luca Canali <luca.canali@cern.ch> Signed-off-by: Kousuke Saruta <sarutak@oss.nttdata.com>
Test build #128166 has finished for PR 29621 at commit
|
Kubernetes integration test starting |
Kubernetes integration test status failure |
retest this please |
cc @zhengruifeng since you're the release manager of 3.0.1 |
Test build #128172 has finished for PR 29621 at commit
|
Kubernetes integration test starting |
Kubernetes integration test status failure |
@HyukjinKwon Thanks for letting me know this. It seems that this issue may also exist in 2.4? I think you can vote -1 in this active vote. |
Assuming from the JIRA, seems like it's not a blocker. I just cc'ed you just as a FYI :-). but @sarutak can you confirm if this blocks the release? |
I don't think this is a blocker. We can't deploy plugins and its required files with --jars/--files but as @tgravescs mentioned here, we have a workaround by installing plugins on all worker nodes beforehand and specifying them with extraClassPath. |
Ya. I agree that this is not a blocker for 3.0.1 release. |
Retest this please |
Kubernetes integration test starting |
Kubernetes integration test status failure |
Retest this please |
Test build #130380 has finished for PR 29621 at commit
|
Retest this please. |
Test build #130381 has finished for PR 29621 at commit
|
AmbLap Server seems to have a broken
|
Kubernetes integration test starting |
Kubernetes integration test starting |
Kubernetes integration test status failure |
Kubernetes integration test status failure |
Test build #130378 has finished for PR 29621 at commit
|
This PR doesn't pass K8s IT since September.
The failures are on the following test cases. Recently, Jenkins K8s IT seems to be unstable.
So, I verified manually on my laptop.
For the K8s IT failure, I've been taking a look independently. |
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.
+1, LGTM. Merged to branch-3.0 for Apache Spark 3.0.2.
…Cluster and Kubernetes with --jars ### What changes were proposed in this pull request? This is a backport PR for branch-3.0. This PR changes Executor to load jars and files added by --jars and --files on Executor initialization. To avoid downloading those jars/files twice, they are assosiated with `startTime` as their uploaded timestamp. ### Why are the changes needed? ExecutorPlugin can't work with Standalone Cluster and Kubernetes when a jar which contains plugins and files used by the plugins are added by --jars and --files option with spark-submit. This is because jars and files added by --jars and --files are not loaded on Executor initialization. I confirmed it works with YARN because jars/files are distributed as distributed cache. ### Does this PR introduce _any_ user-facing change? Yes. jars/files added by --jars and --files are downloaded on each executor on initialization. ### How was this patch tested? Added a new testcase. Closes #29621 from sarutak/fix-plugin-issue-3.0. Lead-authored-by: Kousuke Saruta <sarutak@oss.nttdata.com> Co-authored-by: Luca Canali <luca.canali@cern.ch> Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
@dongjoon-hyun @tgravescs Thank you for taking a look at this PR again! |
What changes were proposed in this pull request?
This is a backport PR for branch-3.0.
This PR changes Executor to load jars and files added by --jars and --files on Executor initialization.
To avoid downloading those jars/files twice, they are assosiated with
startTime
as their uploaded timestamp.Why are the changes needed?
ExecutorPlugin can't work with Standalone Cluster and Kubernetes
when a jar which contains plugins and files used by the plugins are added by --jars and --files option with spark-submit.
This is because jars and files added by --jars and --files are not loaded on Executor initialization.
I confirmed it works with YARN because jars/files are distributed as distributed cache.
Does this PR introduce any user-facing change?
Yes. jars/files added by --jars and --files are downloaded on each executor on initialization.
How was this patch tested?
Added a new testcase.