jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Reschke <julian.resc...@gmx.de>
Subject jackrabbit-core RepositoryChecker.fix() can fail with OOM
Date Wed, 18 Apr 2012 09:28:42 GMT
Hi there.

(posting here instead of opening a ticket because JIRA is currently down)

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 

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

Feedback appreciated, Julian

View raw message