Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-7803

Classloading deadlock in TrieField => refactor date formatting/parsing to static utility class

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.2.1
    • 5.3, 6.0
    • None
    • OSX, JDK8u45

    Description

      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.

      Attachments

        1. SOLR-7803.patch
          70 kB
          Uwe Schindler
        2. SOLR-7803.patch
          58 kB
          Uwe Schindler
        3. TrieField.patch
          6 kB
          Markus Heiden

        Activity

          People

            uschindler Uwe Schindler
            markus_heiden Markus Heiden
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: