Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-4121

ConcurrentModificationException in InternalVersionHistoryImpl.fixLegacy()

    XMLWordPrintableJSON

Details

    Description

      In some cases the method InternalVersionHistoryImpl.fixLegacy() may trigger a ConcurrentModificationException. The exception is caused by the iterator on the nameCache.keySet(). It only happens when the root version points to a successor version which has a same name sibling. In this case the legacyResolveSuccessors() will trigger a reload(), which in turn calls init() and then clears the nameCache. A version history does not actually allow same name sibling child nodes, but one of the repository instance I have access to does show this kind of structure.

      See also related issues JCR-3086 & JCR-1111.

      Attachments

        1. JCR-4121.patch
          2 kB
          Marcel Reutegger
        2. JCR-4121-test-attempt.diff
          4 kB
          Julian Reschke

        Issue Links

          Activity

            People

              mreutegg Marcel Reutegger
              mreutegg Marcel Reutegger
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: