[Xapian-discuss] Deleted documents not deleted

Olly Betts olly at survex.com
Tue Jun 19 18:37:12 BST 2007


On Tue, Jun 19, 2007 at 07:20:18PM +0200, Jean-Francois Dockes wrote:
> I seem to be seeing cases where I call db.delete_document(somedocid) with
> no error, then flush() and delete the database object, but the document is
> still there after process exit. The write lock is normally deleted, so it
> appears that the database close finished normally.
> 
> If I then then call delete_document(somedocid) from another
> command/process, this time it goes away.
> 
> I've been seeing this forever (it's not related to a recent xapian version
> or a flint/quartz thing). This seems to be somehow related to the index
> state (on a given index, deletes work until they stop working, and I have
> to reindex from scratch to get back to normal).

Do you see this in 1.0.0 or later?

This fix went in before 1.0.0, but I can't recall exactly what the symptoms
were, nor find a relevant mail or bug report...

Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly at survex.com>

        * backends/flint/flint_database.cc: Delete the corresponding entry
          (if any) from doclens in delete_document().  Add assertion to
          add_document_() that the corresponding entry in doclens isn't
          already set, but in a non-debug build overwrite any existing
          entry as that's more likely to be correct.
        * backends/quartz/quartz_database.cc: Ditto.

Cheers,
    Olly



More information about the Xapian-discuss mailing list