[Xapian-discuss] another DatabaseModifiedError issue

Olly Betts olly at survex.com
Fri May 30 00:42:20 BST 2008


On Thu, May 29, 2008 at 04:40:46PM +0200, Markus Wörle wrote:
> * I added microsecond-timestamps to my logfiles and collected samples  
> over night. It seems that my problem has in fact nothing to do with  
> consecutive flushes of different databases. It seems that I noticed  
> this behaviour by chance and took wrong conclusions after I saw my  
> workaround (the sleeps between the flushes) working.

OK, that's certainly a useful discovery.

[snip]
> You see the database revision got only increased by 1 with each  
> explicit flush().

Yes, that's reassuring as it rules out implicit calls to flush (assuming
the "[Wtf::Index]" logging is from your code).

> Which means that the exception got thrown in  
> FlintTable::set_overwritten().

That's really the only place it could be - the other place it could get
thrown is if we can't open the database at a consistent revision because
it keeps changing too quickly.  But it's good to have confirmation.

It would be interesting to know which call to set_overwritten()
was responsible if you don't mind annotating the places which call
set_overwritten().

> I hope this information helps in some way.

It doesn't immediately reveal to me what's going on, but it's certainly
progress.

Cheers,
    Olly



More information about the Xapian-discuss mailing list