-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Transactions
-
None
-
Storage Engines - Transactions
-
None
-
None
A prepared transaction is an uncommitted transaction. Currently, we don't allow an uncommitted transaction to survive the step-up. However, this means on step-up, MongoDB needs to rollback all the prepared transactions before step-up and then replay them later. This will prolong the step-up time.
Investigate how WT can allow the prepared transaction to survive step-up. It is non-trivial because during the step-up, we need to modify the transaction data structure of the prepared transactions which is owned by another session.