-
Notifications
You must be signed in to change notification settings - Fork 29k
SPARK-17532: Add lock debugging info to thread dumps. #15088
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
|
Test build #65336 has finished for PR 15088 at commit
|
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.
How about using Option instead of negative/null values? not much difference either way. I'm not sure if thread IDs can be negative ever.
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.
Probably cleaner that way. I was passing on what JMX returns, but I think you're right that we should translate to Scala expectations.
This adds information to the web UI thread dump page about the JVM locks held by threads and the locks that threads are blocked waiting to acquire. This should help find cases where lock contention is causing Spark applications to run slowly.
f49b6aa to
90bd2c8
Compare
|
Test build #65380 has finished for PR 15088 at commit
|
|
@srowen, could you take another look at this? It has been useful for us to catch locking issues and I'd like to get it in for 2.1.0. Thanks! |
|
@srowen, if you have a chance, could you look at this again? I think it will be helpful for tracking down live-lock issues. Thanks! |
|
Thanks - merging in master/branch-2.1. |
## What changes were proposed in this pull request? This adds information to the web UI thread dump page about the JVM locks held by threads and the locks that threads are blocked waiting to acquire. This should help find cases where lock contention is causing Spark applications to run slowly. ## How was this patch tested? Tested by applying this patch and viewing the change in the web UI.  Additions: - A "Thread Locking" column with the locks held by the thread or that are blocking the thread - Links from the a blocked thread to the thread holding the lock - Stack frames show where threads are inside `synchronized` blocks, "holding Monitor(...)" Author: Ryan Blue <[email protected]> Closes #15088 from rdblue/SPARK-17532-add-thread-lock-info. (cherry picked from commit 2dc0480) Signed-off-by: Reynold Xin <[email protected]>
|
Thanks @rxin! |
## What changes were proposed in this pull request? This adds information to the web UI thread dump page about the JVM locks held by threads and the locks that threads are blocked waiting to acquire. This should help find cases where lock contention is causing Spark applications to run slowly. ## How was this patch tested? Tested by applying this patch and viewing the change in the web UI.  Additions: - A "Thread Locking" column with the locks held by the thread or that are blocking the thread - Links from the a blocked thread to the thread holding the lock - Stack frames show where threads are inside `synchronized` blocks, "holding Monitor(...)" Author: Ryan Blue <[email protected]> Closes apache#15088 from rdblue/SPARK-17532-add-thread-lock-info.
What changes were proposed in this pull request?
This adds information to the web UI thread dump page about the JVM locks
held by threads and the locks that threads are blocked waiting to
acquire. This should help find cases where lock contention is causing
Spark applications to run slowly.
How was this patch tested?
Tested by applying this patch and viewing the change in the web UI.
Additions:
synchronizedblocks, "holding Monitor(...)"