Xapian recovery after kernel oops
Jed Brown
jed at 59A2.org
Thu May 9 14:58:28 PDT 2013
My laptop had a kernel oops this morning, apparently triggered by
getting bumped (not very hard, actually). Upon restarting, I have a
corrupt database:
$ notmuch search tag:inbox
A Xapian exception occurred opening database: The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation
This is with Linux 3.8.11 and btrfs, though nothing else on the file
systems appears to have been affected.
$ xapian-check Mail/.notmuch/xapian/
Database couldn't be opened for reading: DatabaseModifiedError: The revision being read has been discarded - you should call Xapian::Database::reopen() and retry the operation
Continuing check anyway
Cross-checking document lengths between the postlist and termlist tables would use more than 1GB of memory, so skipping that check
record:
xapian-check: DatabaseCorruptError: Db block overwritten - are there multiple writers?
>From the xapian list archives, recovery doesn't look likely. According
to this mail, it sounds like the commit should have been atomic.
http://lists.xapian.org/pipermail/xapian-discuss/2009-September/007126.html
Is there likely to be any information in my database that would help
track down the reason why the commit was not atomic? I don't rule out
the possibility that the corruption was entirely the kernel's fault, but
I don't want to leap to conclusions either.
More information about the notmuch
mailing list