[Xapian-discuss] empty FD after reopen since version 1.2.16

Olly Betts olly at survex.com
Tue Apr 28 06:40:25 BST 2015


On Mon, Apr 27, 2015 at 02:23:25PM +0200, matthias lay wrote:
> after upgrading xapian I encountered the same problem as described in
> ticket
> #645 Read block errors after reopen()
> 
> in our setup its 100% reproducible after each reopen(). I downgraded
> again and it seems the problem occurs in Version 1.2.16 and above.
> in <=1.2.15 everything works fine without seeing this error once.

I suspect this commit fixes your issue - you can probably just apply
the chert parts to 1.2.x easily, though I've not tried to backport it
yet:

http://trac.xapian.org/changeset/1900eca6d325e9185b9f9f5c75a4a4a545616d7f/git

Thanks for narrowing down the release which introduced this - the relevant
change in 1.2.16 is presumably this one:

| * Reuse a cursor for reading values from valuestreams rather than creating
|   a new one each time.  This can dramatically reduce the number of blocks
|   redundantly reread when sorting by value.  The rereads will generally get
|   served from VM cache, but there's still an overhead to that.

Before that we just created a cursor each time, so the underlying
cursor bug wouldn't be triggered in this case.

Cheers,
    Olly



More information about the Xapian-discuss mailing list