-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Layered Tables
-
None
-
Storage Engines - Foundations
-
139.39
-
Storage Execution 2026-08-31
-
None
Summary
During an async step-down window, leader writes to layered tables must be mirrored to both the stable and ingest constituents. Stable must be written first so WiredTiger conflict detection remains authoritative.
Scope
- Mirror insert, update, modify, remove, and reserve.
- Encode values independently for each constituent.
- Represent remove as a stable removal plus an ingest tombstone.
- Snapshot and decode the original logical value before modify, then construct the full ingest mirror.
- Make a failed ingest mirror transaction-fatal.
- Preserve ingest-only routing for tables created without a stable constituent.
- Preserve existing transaction-level straddler checks.
- Update layered async step-down and tombstone-encoding tests.
Non-goals
- Do not remove the step-down mutex.
- Do not simplify leader reads.
- Do not support prepared transactions during the window.
- Do not add optimized truncate mirroring.
- blocks
-
WT-18420 Simplify async step-down routing
-
- Blocked
-
- is related to
-
WT-18458 Eviction walk re-enters the same tree repeatedly
-
- In Progress
-
-
WT-18410 Don't queue pages with stalled prune timestamps for eviction
-
- Closed
-
-
WT-17772 Consider marking data handles outdated at step-down or step-up
-
- Open
-
-
WT-18241 test/format cache stuck panic over clean trigger (stepdown_async)
-
- Closed
-
- related to
-
WT-18477 test/format reserve operation writes during async step-down write pause
-
- Needs Scheduling
-
-
WT-18234 Async step-down: rely on transaction write-conflict detection, not the step-down mutex
-
- Open
-
-
WT-18356 Disagg: a follower should not keep a live shared history store handle
-
- Backlog
-