Uh oh!
There was an error while loading. Please reload this page.
[SPARK-13747][SQL]Fix concurrent executions in ForkJoinPool for SQL - #15520
[SPARK-13747][SQL]Fix concurrent executions in ForkJoinPool for SQL#15520zsxwing wants to merge 3 commits into
Conversation
jodersky
commented
Oct 17, 2016
I'm not sure I completely understand why you have to use |
Yep. Without |
That makes sense, thanks for explaining. Would installing a custom |
SparkQA
commented
Oct 17, 2016
Test build #67088 has finished for PR 15520 at commit
|
zsxwing
commented
Oct 17, 2016
Yes, I think so. It just needs more lines :) |
zsxwing
commented
Oct 17, 2016
retest this please |
jodersky
commented
Oct 17, 2016
I think the solution you propose is sound. Do you think that a quick mention about avoiding the |
SparkQA
commented
Oct 18, 2016
Test build #67094 has finished for PR 15520 at commit
|
zsxwing
commented
Oct 18, 2016
cc @andrewor14 |
SparkQA
commented
Oct 18, 2016
Test build #67112 has finished for PR 15520 at commit
|
| // scalastyle:off awaitresult | ||
| Await.result(...) | ||
| // scalastyle:on awaitresult | ||
| If your codes use ThreadLocal and run in a user's thread, use ThreadUtils.awaitResultInForkJoinSafely instead. |
There was a problem hiding this comment.
What does the user's thread mean at here?
There was a problem hiding this comment.
I meant threads created by the user. Fixed the description.
SparkQA
commented
Oct 24, 2016
Test build #67461 has finished for PR 15520 at commit
|
yhuai
commented
Oct 26, 2016
lgtm |
zsxwing
commented
Oct 26, 2016
Thanks! Merging to master and 2.0. |
zsxwing
commented
Oct 26, 2016
There are conflicts with 2.0. #15646 is the backport for 2.0. |
…(branch 2.0) ## What changes were proposed in this pull request? Backport #15520 to 2.0. ## How was this patch tested? Jenkins Author: Shixiong Zhu <shixiong@databricks.com> Closes#15646 from zsxwing/SPARK-13747-2.0.
## What changes were proposed in this pull request? Calling `Await.result` will allow other tasks to be run on the same thread when using ForkJoinPool. However, SQL uses a `ThreadLocal` execution id to trace Spark jobs launched by a query, which doesn't work perfectly in ForkJoinPool. This PR just uses `Awaitable.result` instead to prevent ForkJoinPool from running other tasks in the current waiting thread. ## How was this patch tested? Jenkins Author: Shixiong Zhu <shixiong@databricks.com> Closesapache#15520 from zsxwing/SPARK-13747.
## What changes were proposed in this pull request? Calling `Await.result` will allow other tasks to be run on the same thread when using ForkJoinPool. However, SQL uses a `ThreadLocal` execution id to trace Spark jobs launched by a query, which doesn't work perfectly in ForkJoinPool. This PR just uses `Awaitable.result` instead to prevent ForkJoinPool from running other tasks in the current waiting thread. ## How was this patch tested? Jenkins Author: Shixiong Zhu <shixiong@databricks.com> Closesapache#15520 from zsxwing/SPARK-13747.
What changes were proposed in this pull request?
Calling
Await.resultwill allow other tasks to be run on the same thread when using ForkJoinPool. However, SQL uses aThreadLocalexecution id to trace Spark jobs launched by a query, which doesn't work perfectly in ForkJoinPool.This PR just uses
Awaitable.resultinstead to prevent ForkJoinPool from running other tasks in the current waiting thread.How was this patch tested?
Jenkins