-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Btree
-
Security Level: Public (Available to anyone on the web)
-
Storage Engines, Storage Engines - Transactions
-
3.249
-
SE Transactions - 2025-09-12
-
3
/*
* WiredTiger internal operations such as rollback to stable and prepare transaction
* rollback adds a globally visible tombstone to the update chain to remove the entire key.
* Treating these globally visible tombstones as obsolete and trimming update list can cause
* problems if the update chain is getting accessed somewhere else. To avoid this problem,
* skip these globally visible tombstones from the update obsolete check that were generated
* from prepare transaction rollback but not from RTS, because there are no concurrent
* operations run in parallel to the RTS to be affected.
*/
if (upd->txnid == WT_TXN_NONE && upd->upd_start_ts == WT_TS_NONE &&
upd->type == WT_UPDATE_TOMBSTONE && upd->next != NULL &&
upd->next->txnid == WT_TXN_ABORTED) {
WT_ACQUIRE_READ(prepare_state, upd->next->prepare_state);
/* We may see a locked prepare state if we race with prepare rollback. */
if (prepare_state == WT_PREPARE_INPROGRESS || prepare_state == WT_PREPARE_LOCKED)
continue;
}
This check in the obsolete check can be simplified because of the recent check.
- related to
-
WT-15086 Eviction thread panic during connection close with disagg enabled
-
- Closed
-
-
WT-15204 test_cc02.py fails with AssertionError: 1 != 0 (obsolete_on_disk mismatch)
-
- Closed
-
-
WT-15205 test_cc09.py fails with AssertionError: Checkpoint cleanup did not read anything
-
- Closed
-
-
WT-15239 Set durable timestamp during recovery in disagg
-
- Closed
-
-
WT-15311 Fix for disagg: "value time window has a start time before its parent's oldest start time"
-
- Closed
-
-
WT-15210 Change eviction to scrub eviction when the cache usage is less than eviction target
-
- Closed
-
-
WT-15315 Add 8.2 into the compatibility tests
-
- Closed
-
-
WT-15353 Skip test_cc05.py in disagg as named checkpoints are not supported
-
- Closed
-
-
WT-15354 Re-enable several checkpoint cleanup Python tests for disagg
-
- Closed
-
-
WT-14836 Add support for unclean shutdown in compatibility tests
-
- Closed
-
-
WT-15351 Fix memory leak in __wt_disagg_advance_checkpoint
-
- Closed
-