SPARK-17532: Add lock debugging info to thread dumps.#15088
SPARK-17532: Add lock debugging info to thread dumps.#15088rdblue wants to merge 1 commit intoapache:masterfrom
Conversation
|
Test build #65336 has finished for PR 15088 at commit
|
There was a problem hiding this comment.
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.
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 <blue@apache.org> Closes #15088 from rdblue/SPARK-17532-add-thread-lock-info. (cherry picked from commit 2dc0480) Signed-off-by: Reynold Xin <rxin@databricks.com>
|
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 <blue@apache.org> 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(...)"