-
Type:
Task
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
Fully Compatible
-
Repl 2025-03-03, Repl 2025-03-17, Repl 2025-03-31
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
High-level workflow:
- Find the last txnTable noop oplog entry (T1) before stableOpTime (T2). This could be non-existent if we have never written down a noop.
- Scan oplog in (T1, T2], to restore the in-memory transaction table upto stable opTime T2.
- As part of the normal replication recovery which applies oplog entries (T2, truncateAfterPoint], restore the in-memory transaction table to latest.
Notes:
- Maybe it's possible to record the opTime of the last txnTable noop oplog entry before stableOpTime in a local collection to accelerate the first step.
- Clean shutdown should write a noop right before shutdown so that we don't need to apply any oplog entry during startup. This should be handled either in this ticket orĀ
SERVER-100343.
- related to
-
SERVER-100343 Periodically persist the in-memory transaction table to oplog
-
- Closed
-