-
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
Prototype correct behavior across step-up, step-down, restart, and rollback for the new write path.
Scope of Work
- Step-up: drain unapplied oplog, initialize the detector floor to lastApplied, then accept writes.
- Step-down: stop accepting writes, stop/drain the primary applier, abort staged transactions.
- Restart: replay through existing startup recovery.
- Rollback of an unapplied oplog tail on a former primary.
- One jstest per scenario.
Acceptance Criteria
- Each scenario works in the prototype or the gap is documented.
- Findings recorded on this ticket, including known holes.
Technical Notes
- Prototype quality; not intended for commit to master.
Design Note Alignment
- Staged writes are never durable, so the buffer is empty after restart by construction; restart needs no staged-write recovery.
- Prepared transactions with staged writes are forbidden in the prototype; prepare/2PC is out of scope.
- Design reference: src/mongo/db/txns/staged_writes_design.md (PR #66680).
- depends on
-
SERVER-138767 Prototype primary oplog application with write acknowledgment and read timestamp changes
-
- Open
-
-
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
-