Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-27321

Jackrabbit deadlock due to non thread-safe implementations of StringIndex

    Details

      Description

      Implementations of StringIndex for Jackrabbit are not thread safe, and the implementations indicate in their javadocs that everything using those classes should do their own thread synchronization. However, the problem with that is that the interfaces do not have such a description, so all uses of the interface within the Jackrabbit source code do not do any thread synchronization.

      This results in a well-documented infinite loop bug within HashMap, as mentioned in LPS-16142 where Liferay code suffered from the same bug.

      Rather than add synchronized blocks to the code using the StringIndex implementations, it should be possible to transparently convert the HashMaps into ConcurrentHashMaps.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              michael.saechang Michael Saechang
              Reporter:
              minhchau.dang Minhchau Dang
              Participants of an Issue:
              Recent user:
              Esther Sanz
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                8 years, 15 weeks, 4 days ago

                  Packages

                  Version Package
                  6.0.X EE
                  6.1.1 CE GA2
                  6.1.20 EE GA2
                  6.2.0 CE M2