-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Layered Tables, Truncate
-
None
-
Storage Engines - Foundations
-
306.239
-
SE Foundations - 2026-05-08
-
3
Problem:
When applying commit timestamps to truncate entry, then entire truncate list is locked with write lock. Such a broad and powerful lock is an overkill.
Solution:
Remove the queue-wide write lock:
- Replace it with a per-entry committed state.
- Writer: on commit set start_ts and durable_ts, then set state to committed with release semantics.
- Reader: load the state with acquire semantics; if it is committed, read timestamps. Otherwise, use default WT_TS_NONE.
That gives us per-entry consistency without locking the entire queue.