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