-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Reconciliation
-
None
-
Storage Engines - Transactions
-
1,072.207
-
SE Transactions - 2026-05-08, SE Transactions - 2026-05-22, SE Transactions - 2026-06-05
-
5
Summary
When the preserve_prepared configuration is enabled, fast truncate operations that belong to a prepared transaction must be persisted to disk. Currently, prepared fast truncate state held in WT_PAGE_DELETED is not written out under this configuration, leaving a gap in prepared transaction durability for truncated pages.
Motivation
The preserve_prepared config requires that prepared transaction state survives a restart so that recovery can reconstruct the prepared state and allow the transaction to be committed or rolled back after the fact. Fast truncate (page deletion) operations are part of a prepared transaction's write set and must be treated the same as prepared updates on individual keys — they need to be written to the on-disk format so recovery can replay or discard them correctly.
Acceptance Criteria
- When preserve_prepared is enabled, reconciliation writes prepared WT_PAGE_DELETED records to disk using the prepared fast truncate on-disk format
- On restart and recovery, the prepared fast truncate state is correctly reconstructed from disk
- When preserve_prepared is disabled, behavior is unchanged (prepared fast truncate is not written out)
- Existing prepare and fast truncate tests pass with no regression
- related to
-
WT-17710 format-stress-test-disagg-switch-data-validation-1 failing on ubuntu2004-stress-tests-arm64
-
- Closed
-