modifying the DB while iterating is user error, right?
Eric Wong
e at 80x24.org
Tue Feb 27 22:54:14 GMT 2018
Hello, I noticed a problem with DatabaseCorruptError exceptions
with public-inbox and I guess it's user error...
The problem is public-inbox was calling replace_document to
modify the DB while iterating through a PostingIterator. At
first I thought it was a glass problem, but I've hit it with
chert on my dataset, too.
I have a standalone Perl script to reproduce the problem at
https://yhbt.net/skel.bug.perl and 81M gzipped dataset which
reproduces the problem at https://yhbt.net/skel.bug.gz
(each line is: MID [REFERENCES-SEPARATED-BY-SPACES])
Usage:
For failure:
curl https://yhbt.net/skel.bug.gz | zcat | perl -w /path/to/skel.bug.perl
For success:
curl https://yhbt.net/skel.bug.gz | zcat | \
BATCH_SIZE=1000 perl -w /path/to/skel.bug.perl
I've also informed notmuch of the problem, since I stole
the thread linking logic from that for public-inbox:
https://www.mail-archive.com/search?l=mid&q=20180227224414.GA31804@dcvr
(currently greylisted, should show up momentarily)
More information about the Xapian-discuss
mailing list