[Xapian-discuss] Xapian over NFS (again...)

Olly Betts olly at survex.com
Tue Jun 9 01:06:27 BST 2009


On Sun, Jun 07, 2009 at 07:12:27PM +0200, shad wrote:
> Over NFS, readers does not receive any DatabaseModifiedError, so the
> database is never reopened, and the readers work with an old database
> revision, in memory I guess.

DatabaseModifiedError means "I can't perform the operation you requested
because the database was modified *and the information required is no
longer available*", not just "there's a newer revision available".

Even without NFS, Xapian caches various things so not all operations
will necessarily throw DatabaseModifiedError in every case when the
current revision isn't available.  Also, parts of the old revision may
not be overwritten on disk right away, so even iteration along a posting
list which moves to a new chunk may work.  Each block has the revision
it was last updated in it, so we can reliably detect if it has been
overwritten.

So this isn't a bug in Xapian, just another NFS oddity I guess.  Or
perhaps an NFS misconfiguration or implementation bug.

Cheers,
    Olly



More information about the Xapian-discuss mailing list