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

                 Key: JCR-3298
                 URL: https://issues.apache.org/jira/browse/JCR-3298
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.4, 2.2.11, 2.6
            Reporter: Julian Reschke
            Assignee: Julian Reschke


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()). 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to