[ https://issues.apache.org/jira/browse/JCR-3298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Reschke updated JCR-3298:
--------------------------------
Attachment: JCR-3298.patch
Proposed patch.
> 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.2.11, 2.4, 2.6
> Reporter: Julian Reschke
> Assignee: Julian Reschke
> Attachments: JCR-3298.patch
>
>
> 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
|