jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berry van Halderen <b.vanhalde...@1hippo.com>
Subject Consistency checker
Date Sun, 31 Oct 2010 22:57:28 GMT

I'm sitting currently on a piece of code that might be of more interest
to others.  It is a consistency checker of the jackrabbit on-disk structure.
It is not that such a piece of software in needed daily for a Jackrabbit
JCR.  In general usage, I've not been able to trap Jackrabbit on being able
to corrupt its own persistent storage.  But like all things, sometimes
things still go wrong, especially when confronted with external influence.
Restoring lucene indexes which don't represent the datastore, misbehaving
extensions.  In any case you do want a consistency to just be sure all
data is still in a consistent state.

Now the consistency checker in jackrabbit does check a number of items,
but we've actually ran into issues that were not picked up by that
consistency check but still represented a bad state.  I've also found that
having to set multiple constency check flags to true in multiple files
(located in the storage self) is not the easest way to instruct third
party sysadmins.  A fast stand alone consistency check has a place there.

Like I started, the piece of code developed might be of interest to more
people, and it is open.  Sure it's not finished (it currently only does
MySQL backends, repairs are disabled and could do with a clean up).  But
it is already in a state where it scans on-disk structures quite thoroughly
and is very fast.  Because it is stand-alone it can be both more thorough
and faster than the built-in consistency checker (much more thorough check
done in 5 minutes rather than many hours).

You can check it out under:
It should build out of the box (not needing any subprojects from the parent
project it is in.  And I'll put a README with more into the project in
not too long.

Improvements will be made over a short time frame, but I'd like to have
some feedback and like said, its open for general use.


View raw message