[ 
https://issues.apache.org/jira/browse/SOLR-7803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler resolved SOLR-7803.
---------------------------------
    Resolution: Fixed

I committed and backported + added backwards layer. In trunk I also removed the 
custom ThreadLocal, {{ThreadLocal#withInitial(FORMAT_PROTOTYPE::clone)}} is 
much more elegant.

If you see other class loading deadlocks in Solr startup, those can be caused 
by concurrent core initialization, which may be broken under certain cases. 
Please open other issues about that.

> Classloading deadlock in TrieField
> ----------------------------------
>
>                 Key: SOLR-7803
>                 URL: https://issues.apache.org/jira/browse/SOLR-7803
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>         Environment: OSX, JDK8u45
>            Reporter: Markus Heiden
>            Assignee: Uwe Schindler
>              Labels: patch
>             Fix For: 5.3, Trunk
>
>         Attachments: SOLR-7803.patch, SOLR-7803.patch, TrieField.patch
>
>
> When starting a test Sol instance, it locks up sometimes. We took a thread 
> dump and all threads are trying to load classes via Class.forName() and are 
> stuck in that method. One of these threads got one step further into the 
> <clinit> of TrieField where it creates an internal static instance of 
> TrieDateField (circular dependency). I don't know why this locks up exactly, 
> but this code smells anyway. So I removed that instance and made the used 
> methods static in TrieDateField.
> This does not completely remove the circular dependency, but at least it is 
> no more in <clinit>. For the future someone may extract a util class to 
> remove the circular dependency.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to