[Xapian-tickets] [Xapian] #284: occasional !DatabaseModifiedErrors
Xapian
nobody at xapian.org
Wed Jul 23 17:36:02 BST 2008
#284: occasional !DatabaseModifiedErrors
---------------------------+------------------------------------------------
Reporter: mrks | Owner: olly
Type: defect | Status: assigned
Priority: normal | Milestone: 1.0.8
Component: Backend-Flint | Version: 1.0.7
Severity: normal | Resolution:
Keywords: | Blockedby:
Platform: Linux | Blocking:
---------------------------+------------------------------------------------
Comment(by richard):
The extra fdatasync() is worth a try, though I can't quite see how that
can be the explanation, because the new root block shouldn't be being
accessed until the new basefile has been written (or at least, not by a
reader open at the old revision.
In the error printfs, I notice that the version numbers are 2 apart (eg
"10194 > 10192"). So, this means a reader open at rev 10192 is finding
that a block it wanted to read is now part of revision 10194. This looks
very much as if the reopen has failed to work, somehow. Do we know what
the reader is doing when the error occurs? One possibility that occurred
to me is that the reopen() call itself is throwing the error - perhaps
it's trying to read a block as part of the cleanup of the old revision or
something (though I haven't found anything in the code to reflect that).
--
Ticket URL: <http://trac.xapian.org/ticket/284#comment:2>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list