You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2015/07/20 11:45:04 UTC

[jira] [Resolved] (SOLR-7803) Classloading deadlock in TrieField

     [ 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org