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

Erick Erickson commented on SOLR-4548:
--------------------------------------

Hoss:

Thanks for reporting this, but it's totally impossible (tm)..... Yeah, sure. 
Seriously though I really don't see how this can come about, which just means 
I'm missing something. But the code has changed and I'll iterate this all day 
today on my old machine to see if I can make it happen. Please let me know if 
you see it again. Except I can't iterate, see the note I just sent to the dev 
list about -Dtestcase=blahblah. Siiigggghhhh

That code should
1> set the shutdown flag in CoreContainer
2> wake up the sleeping backgroundCloser thread (one place it's blocked). This 
should immediately stop trying to look at or close anything and should terminate
3> wait for the backgroundCloser thread to stop (the join). Which it should do 
immediately after being woken up.

There's not much else that's happening here. One thread is waiting on the join 
for the backgroundCloser thread, and the backgroundCloser thread is waiting to 
be awakened off the wait it's doing. But immediately before the join, and after 
the shutdown flag has been set, there's a notifyAll happening on the lock 
object.

Now, the basic assumption I've been operating on all along is that there is one 
and only one CoreContainer, so the "volatile boolean isShutdown;" variable in 
CoreContainer is the same one accessed in my thread as is set in the code that 
calls backgroundCloser.join.

But when I can run individual tests I'll see if I can force this to happen 
again. If you see it again can you ping this JIRA? And what's the environment 
you're running on?
                
> Stalled shutdown observed running TestSolrProperties
> ----------------------------------------------------
>
>                 Key: SOLR-4548
>                 URL: https://issues.apache.org/jira/browse/SOLR-4548
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Hoss Man
>            Assignee: Erick Erickson
>         Attachments: 
> TestSolrProperties.testProperties.stalled_1208_dump2.txt, 
> TestSolrProperties.testProperties.stalled_1208_dump.txt, 
> TestSolrProperties.testProperties.stalled_1328_dump.txt, 
> TestSolrProperties.testProperties.stalled_788_dump2.txt, 
> TestSolrProperties.testProperties.stalled_788_dump.txt
>
>
> Running the full tests suite against trunk r1454630 i noticed 
> "TestSolrProperties.testProperties" stalled for a whle and begin taking 
> thread dumps.
> All of the dumps seem to follow the same basic structure: 
> * a handfull of searcherExecutor threads WAITING on the ThreadPoolExecutor
> * the main test thread in CoreContainer.shutdown locked & waiting on 
> CloserThread
> * CloserThread locked & waiting on an Object
> There's no indication that the problem has anything to do with this test, it 
> seems like a generic porblem that could affect any solr users on shutdown.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to