lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] [Updated] (SOLR-7803) Classloading deadlock in TrieField
Date Mon, 20 Jul 2015 08:14:04 GMT


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

I did a bit more refactoring:
- rename DateUtils -> DateFormatUtil (the other name was somehow a confusing duplicate,
so Eclipse autocomplete showed too much unspecific stuff).
- I removed more formatting methods out of TrieDateField. TrieDateField is now as any other
Trie(Long|Int|Double|Float)Field - short and compact.

I will commit this later and add backwards layer in 5.x. All tests pass.

> Classloading deadlock in TrieField
> ----------------------------------
>                 Key: SOLR-7803
>                 URL:
>             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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message