Opened 15 years ago
Closed 15 years ago
#399 closed defect (fixed)
ChertValueManager::get_value skips document after flush
Reported by: | Rich Lane | Owned by: | Olly Betts |
---|---|---|---|
Priority: | normal | Milestone: | 1.1.3 |
Component: | Backend-Chert | Version: | SVN trunk |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Operating System: | All |
Description
I've been seeing empty values returned immediately after flushing. The reader.at_end() condition following the reader.skip_to(did) call is true even though the document should exist. I've attached a testcase that passes with Flint and fails with Chert.
Attachments (1)
Change History (3)
by , 15 years ago
Attachment: | valuesaftercommit.cc added |
---|
comment:1 by , 15 years ago
Milestone: | → 1.1.3 |
---|---|
Status: | new → assigned |
Version: | → SVN trunk |
Looking at the database with xapian-inspect, it seems we manage to create a chunk for value 0 for document 2, and then a new chunk for value 0 for documents 1 and 3, which is wrong - we should be rewriting the existing chunk.
Then when we look for value 0 for document 3, we look in the chunk for document 2 (since that's the largest chunk start <= 3) and don't find it.
Needs fixing for 1.1.3.
comment:2 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in trunk r13492. Chert-only, so nothing to backport.
values-after-commit testcase