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!
Cheers,
Olly