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-test-attempt.diff
          4 kB
          Julian Reschke
        2. JCR-4121.patch
          2 kB
          Marcel Reutegger

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: