[ 
https://issues.apache.org/jira/browse/SOLR-14635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17155022#comment-17155022
 ] 

Chris M. Hostetter commented on SOLR-14635:
-------------------------------------------

Gah ... yeah: i made really silly concurrency mistakes in the test (i was so 
worried about the threads holding the "locks" until after the asserts, i forgot 
to consider that the threads might not even _start_ the "locked" blocks until 
after the assert!)

The handler improvements should be still be good – it's the tests that need 
fixed, so i'll disable for now. (in general, i'll probably have to scale back 
the test to only confirm that the "ownership" is listed properly ... other then 
polling i'm not sure it's possible to confirm a thread is BLOCKED (either on a 
monitor or an ownable synchornier)

> improve ThreadDumpHandler to show more info related to locks
> ------------------------------------------------------------
>
>                 Key: SOLR-14635
>                 URL: https://issues.apache.org/jira/browse/SOLR-14635
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Chris M. Hostetter
>            Assignee: Chris M. Hostetter
>            Priority: Major
>             Fix For: master (9.0), 8.7
>
>         Attachments: SOLR-14635.patch
>
>
> Having recently spent some time trying to use ThreadDumpHandler to diagnose a 
> "lock leak" i realized there are quite a few bits of info available from the 
> ThreadMXBean/ThreadInfo datastcutures that are not included in the response, 
> and i think we should add them:
> * switch from {{findMonitorDeadlockedThreads()}} to 
> {{findDeadlockedThreads()}} to also detect deadlocks from ownable 
> syncrhonizers (ie: ReintrantLocks)
> * for each thread:
> ** in addition to outputing the current {{getLockName()}} when a thread is 
> blocked/waiting, return info about the lock owner when available.
> *** there's already dead code checking this and then throwing away the info
> ** return the list of all locks (both monitors and ownable synchronizers) 
> held by each thread



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to