Again like I said it's not this simple. I think JDBM API's start to fail overall on corruption depending on how the corruption impacts accessing the BTree. One bad access can cause access to half the entries to fail.
yeah, JDBM fails even if a single byte in the end changes (I just removed a character using vi editor then started the server, it barfed ;) )
I think you're idea would work very well if the journal was well integrated with JDBM at the lowest level.
don't think I understood the 'lowest level' completely
and one more thing, I think this journal should be a replica of CL (CL is more robust with indices though) this way we can even recover a crashed CL