I have been running a new checkpoint test that verifies checkpoints by populating multiple tables with the same data. Then periodically checkpointing and verifying that all files have identical content.
The test code is currently in pull request WT-959 - which is against the checkpoint-optimizations branch, but this issue is reproducible in the develop branch.
The issue manifests as an error from the test code of the form:
Key mismatch 1752007 from a ROW table is not 1934748 from a ROW table
This means that one table has key 1752007 from a
->next
, and the other got a 1934748. The expectation is that both values are the same.
After some debugging it appears as though:
- The checkpoint on disk is also "missing" the data
- The data is present in the table if read without a checkpoint
- The same error occurs whether using a named or default checkpoint
- There are no obvious memory corruptions leading to this issue
- Looking at the internal tree structure in memory - it doesn't appear corrupted (this is also repeatable if opening another cursor on the same table/checkpoint, you'll see identical data)
- This issue doesn't appear to be present in the 2.1.2 release - pointing towards a change in the new-split branch.
- related to
-
WT-1 placeholder WT-1
- Closed
-
WT-2 What does metadata look like?
- Closed
-
WT-3 What file formats are required?
- Closed
-
WT-4 Flexible cursor traversals
- Closed
-
WT-5 How does pget work: is it necessary?
- Closed
-
WT-6 Complex schema example
- Closed
-
WT-7 Do we need the handle->err/errx methods?
- Closed
-
WT-8 Do we need table load, bulk-load and/or dump methods?
- Closed
-
WT-9 Does adding schema need to be transactional?
- Closed
-
WT-10 Basic "getting started" tutorial
- Closed
-
WT-11 placeholder #11
- Closed
-
WT-12 Write more examples
- Closed
-
WT-13 Define supported platforms
- Closed
-
WT-14 Windows build
- Closed
-
WT-15 Automated build/test infrastructure
- Closed
-
WT-16 Test suite
- Closed
-
WT-17 Multithreaded tests
- Closed
-
WT-18 Coverage tests
- Closed
-
WT-19 Memory access / leak tests
- Closed
-
WT-20 API design
- Closed
-
WT-21 Record numbers in row stores
- Closed
-
WT-959 Checkpoint test
- Closed