-
Couldn't load subscription status.
- Fork 28.9k
[SPARK-7655][Core] Deserializing value should not hold the TaskSchedulerImpl lock #6195
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
Conversation
|
Merged build triggered. |
|
Merged build started. |
|
Test build #32842 has started for PR 6195 at commit |
|
Test build #32842 has finished for PR 6195 at commit
|
|
Merged build finished. Test PASSed. |
|
Test PASSed. |
|
As discussed offline, let's update the pull request with more comments on where the lock is. That is not obvious just looking at the diff. |
|
Merged build triggered. |
|
Merged build started. |
|
lgtm |
|
Test build #32919 has started for PR 6195 at commit |
|
Merged build triggered. |
|
Merged build started. |
|
Test build #32920 has started for PR 6195 at commit |
|
Test build #32919 has finished for PR 6195 at commit
|
|
Merged build finished. Test PASSed. |
|
Test PASSed. |
…lerImpl lock We should not call `DirectTaskResult.value` when holding the `TaskSchedulerImpl` lock. It may cost dozens of seconds to deserialize a large object. Author: zsxwing <[email protected]> Closes #6195 from zsxwing/SPARK-7655 and squashes the following commits: 21f502e [zsxwing] Add more comments e25fa88 [zsxwing] Add comments 15010b5 [zsxwing] Deserialize value should not hold the TaskSchedulerImpl lock (cherry picked from commit 3b6ef2c) Signed-off-by: Reynold Xin <[email protected]>
|
Test build #32920 has finished for PR 6195 at commit
|
|
Merged build finished. Test PASSed. |
|
Test PASSed. |
|
@rxin did you benchmark what / how much this improves things ? I've been meaning to debug these really slow |
|
I didn't do anything here. |
|
You reviewed the PR :). Anyways @zsxwing -- Did you benchmark any improvements due to this change with some workload ? |
Depends on your case. If you have only one |
…lerImpl lock We should not call `DirectTaskResult.value` when holding the `TaskSchedulerImpl` lock. It may cost dozens of seconds to deserialize a large object. Author: zsxwing <[email protected]> Closes apache#6195 from zsxwing/SPARK-7655 and squashes the following commits: 21f502e [zsxwing] Add more comments e25fa88 [zsxwing] Add comments 15010b5 [zsxwing] Deserialize value should not hold the TaskSchedulerImpl lock
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.
Shouldn't this be @volatile?
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.
No. The two places calling value() are in the same thread.
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.
Ah, got it. Yes, you're correct. Thanks.
…lerImpl lock We should not call `DirectTaskResult.value` when holding the `TaskSchedulerImpl` lock. It may cost dozens of seconds to deserialize a large object. Author: zsxwing <[email protected]> Closes apache#6195 from zsxwing/SPARK-7655 and squashes the following commits: 21f502e [zsxwing] Add more comments e25fa88 [zsxwing] Add comments 15010b5 [zsxwing] Deserialize value should not hold the TaskSchedulerImpl lock
…lerImpl lock We should not call `DirectTaskResult.value` when holding the `TaskSchedulerImpl` lock. It may cost dozens of seconds to deserialize a large object. Author: zsxwing <[email protected]> Closes apache#6195 from zsxwing/SPARK-7655 and squashes the following commits: 21f502e [zsxwing] Add more comments e25fa88 [zsxwing] Add comments 15010b5 [zsxwing] Deserialize value should not hold the TaskSchedulerImpl lock
…lerImpl lock We should not call `DirectTaskResult.value` when holding the `TaskSchedulerImpl` lock. It may cost dozens of seconds to deserialize a large object. Author: zsxwing <[email protected]> Closes apache#6195 from zsxwing/SPARK-7655 and squashes the following commits: 21f502e [zsxwing] Add more comments e25fa88 [zsxwing] Add comments 15010b5 [zsxwing] Deserialize value should not hold the TaskSchedulerImpl lock
We should not call
DirectTaskResult.valuewhen holding theTaskSchedulerImpllock. It may cost dozens of seconds to deserialize a large object.