-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Engines, Storage Engines - Transactions
-
192.089
-
SE Persistence backlog
-
None
Background
Design: WRITING-39975. Scope: WRITING-39974. Epic: SPM-4886.
MongoDB never sets blind_remove on a leader, but WiredTiger still supports it there. A leader remove always reads the stable table, so nothing is skipped.
Change
- With blind_remove set on a leader, a missing key returns success instead of WT_NOTFOUND. Other errors are unchanged.
- Add the statistic layered_curs_blind_remove_leader: layered table cursor blind remove operations on a leader. It counts using WiredTiger's own role check during the remove.
Tests
Python tests in the same PR cover:
- A missing key returns 0 on a leader, and results without the option are unchanged.
- Stacked deletes: a second blind remove of the same key at a different timestamp, and remove, insert, remove with reads in between. No update chain ends up with two consecutive tombstones.
- The statistic moves as expected.
Acceptance criteria
- Behaviour matches the design. New tests pass, and fail without the change.
Depends on
The blind_remove option ticket (WT-18922).