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

jackrabbit-core RepositoryChecker.fix() can fail with OOM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.11, 2.4, 2.6
    • 2.2.12, 2.4.2, 2.5
    • jackrabbit-core
    • None

    Description

      It appears that people are (ab)using the RepositoryChecker to fix the versioning information in their repo after removing the version storage. (It would be good to understand why this happens, but anyway...)

      The RepositoryChecker, as currently implemented, walks the repository, collects changes, and, when done, submits them as a single repository ChangeLog.

      This will not work if the number of affected nodes is big.

      Unfortunately, the checker is currently designed to do things to two steps; we could of course stop collecting changes after a threshold, then apply what we have, then re-run the checker. That would probably work, but would be slow on huge repositories.

      The best alternative I see is to add a checkAndFix() method that is allowed to apply ChangeLogs to the repository on the run (and of course to use that variant from within RepositoryImpl.doVersionRecovery()).

      Attachments

        1. JCR-3298.patch
          5 kB
          Julian Reschke

        Activity

          People

            reschke Julian Reschke
            reschke Julian Reschke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: