-
Type:
Story
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: PALite
-
None
-
Storage Engines
-
None
-
None
PALite page validation should match existing validations in PALM:
- Handling abandoned checkpoints, e.g., after a crash, so that we can enable crash testing (see:
WT-15041). - Verifying delta chains in plh_discard. This function calls palm_handle_verify_page, which gets the entire delta chain since the last full image, and checks:
- Flags.
- That the first page is a full page and the other pages are deltas.
- If there is a tombstone, that it is the last page in the delta chain, and that there is no more than one tombstone.
- That the base LSN of all deltas matches the LSN of the full page image.
- That the backlink LSN points to the previous page in the chain, with special handling for tombstones, in which a tombstone is allowed to match any of the previous page in the chain.
- Verifying delta chains in plh_get:
- Validate that backlink LSN of a delta page points to the previous page in the chain.
- Base LSN of a delta page points to the full page image.
- There is no tombstone in the chain.
- Validation in plh_put:
- Validate that the base LSN and backlink LSN are set correctly, both for full page images and for deltas. This uses palm_handle_get_previous_lsns to determine what are the LSNs of the last full page image and the last page entry.
- A PALite equivalent for tools/wt_palm_decode.py, so that we can inspect the contents of the database offline (e.g., when investigating data corruption).
- Make sure that there is an extensive verbose logging mode that you can turn on to print the list of everything happening in PALI, including everything returned from plh_get.
All these checks are based on the verify option, which defaults to true, but which we can turn off if need be for any long runs or performance runs.
- is related to
-
WT-15041 Handle abandoned checkpoints in PALM
-
- Closed
-