How to recover from this permanent fatal error?
Felipe Contreras
felipe.contreras at gmail.com
Mon Jun 7 08:07:46 BST 2021
Olly Betts wrote:
> On Sun, Jun 06, 2021 at 07:48:39AM -0500, Felipe Contreras wrote:
> > On Sun, Jun 6, 2021 at 5:08 AM Olly Betts <olly at survex.com> wrote:
> >
> > > You could try commenting out the body of GlassTable::set_overwritten()
> > > in xapian-core/backends/glass/glass_table.cc so it keeps going instead
> > > of throwing this exception, which might allow it to usefully recover
> > > some or all tags. If you (or anyone) try that and it works let me know
> > > and I can patch the branch to emit a warning message and continue there.
> >
> > Now I get this:
> >
> > termlist:
> > blocksize=8K items=687440 firstunused=152676 revision=2 levels=2 root=749
> > /home/felipec/contrib/xapian/xapian-core/bin/.libs/lt-xapian-check:
> > DatabaseError: Block 152676: used more than once in the Btree
>
> I've pushed a change to skip the low level table consistency checking on
> the branch since that's where this report is from. The whole point of
> this branch is to rescue tags from a broken database, so the user
> presumably already ran the real xapian-check and it's not useful to be
> repeating those checks here. Hopefully that'll get us to actually
> rescuing some tags!
Yeap, I was able to rescue some tags... only for 339296 mails ;)
I'm back to using notmuch.
This is the error I got:
termlist:
blocksize=8K items=687440 firstunused=152676 revision=2 levels=2 root=749
doclen 168339 > upper bound 168335
termlist table errors found: 1
Total errors found: 1
And I still had to disable GlassTable::set_overwritten on top of your
patch.
Thanks!
--
Felipe Contreras
More information about the Xapian-discuss
mailing list