-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Overview
Verify that unique index constraints hold under staged writes without special handling, as described in design note section 3.4.
Background
WiredTigerIndex::_checkDups inserts and removes a prefix key to conflict with concurrent insertions of the same value. Under staging this key enters the WriteSet, so the conflict detector rejects the later committer. The _id index uses one table key per value, so duplicate _id inserts conflict directly. The bounded duplicate search runs against the merged view.
Scope of Work
- Tests: concurrent duplicate inserts on unique secondary and _id indexes, delete then reinsert in one transaction, update that swaps unique values, old unique index formats where applicable.
- Measure WriteSet growth from prefix keys on realistic workloads (open question 9).
Acceptance Criteria
- No duplicate unique keys can be committed under concurrency, or gaps are documented.
- Findings recorded on this ticket.
- Acceptance bar: the full jstest suite passes with featureFlagStagedWrites enabled, except for specific tests excluded with a documented reason tied to prototype scope.
Technical Notes
- Prototype quality; not intended for commit to master.
- Design reference: src/mongo/db/txns/staged_writes_design.md (PR #66680).
- depends on
-
SERVER-138764 Validate read-your-writes across RecordStore, SortedDataInterface and Container with staged writes
-
- Backlog
-
-
SERVER-138765 Integrate ConflictDetector into the staged-write commit path
-
- Backlog
-
- is depended on by
-
SERVER-138772 Produce delivery plan and architecture update from conflict detection prototype findings
-
- Backlog
-