[Xapian-tickets] [Xapian] #645: Read block errors after reopen()

Xapian nobody at xapian.org
Tue Jun 10 02:05:30 BST 2014


#645: Read block errors after reopen()
---------------------------+-----------------------------
 Reporter:  medoc          |             Owner:  olly
     Type:  defect         |            Status:  assigned
 Priority:  low            |         Milestone:  1.3.3
Component:  Backend-Chert  |           Version:  1.2.16
 Severity:  normal         |        Resolution:
 Keywords:                 |        Blocked By:
 Blocking:                 |  Operating System:  All
---------------------------+-----------------------------
\
\
\
\
Changes (by olly):

 * status:  new => assigned
 * version:   => 1.2.16
 * component:  Other => Backend-Chert
 * milestone:   => 1.3.3

\
\
\

Comment:

 FWIW, a query on a !WritableDatabase can still cause data to be flushed to
 disk, but it's not nearly as brutal as it used to be.

 With the chert backend, if you create an allterms iterator, all pending
 postlist changes are flushed to disk (but not committed).  In query terms,
 that means a wildcard or partial query.

 With the brass backend (at least currently), it will flush (but not
 commit) postlist data for any term used in the query.  The thinking is
 that this means we can just use the standard code to iterate a postlist
 and avoid having special case code for iterating a postlist + pending
 modifications.  For something like recoll with a low query rate and likely
 a small "working set" of terms in a given time window, that should work
 well.

 Brass will also flush all doclength data if you iterate all docs - e.g.
 pure NOT - unless the docids are contiguous (in this special case we
 simply iterates from lowest to highest without reading the actual data
 from disk).

 Brass is also smarter about flushing postlist changes for a wildcard, and
 will only flush the data for terms which match the wildcard (note that
 this data would get flushed when the query was actually run anyway).

 ----

 Anyway, as for the actual issue, this clearly shouldn't happen.  I'll try
 to reproduce it (I do have an SSD, but also a fast CPU).

 I wonder if #640 might be related.
\
\
\

--
Ticket URL: <http://trac.xapian.org/ticket/645#comment:1>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list