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

Uwe Schindler updated SOLR-7803:
--------------------------------
    Attachment: SOLR-7803.patch

Attached is a patch that refactors the static methods out to a separate class. 
It is quite huge, because a lot of places in Solr uses TrieDateField statics, 
without having to do anything with Trie fields at all. So this cleanup was 
really required,

> 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
>            Priority: Critical
>              Labels: patch
>             Fix For: 5.3, Trunk
>
>         Attachments: 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to