Once WT-8304 is implemented the modification on the transaction will contain weak references to the pages that the updates from the transaction sit. At the time of transaction_commit or transaction_rollback the updates will need to be resolved. If the hazard pointer has been downgraded to an invalid pointer then the slow path must be taken. An invalid pointer implies that the page has been evicted and must be re-instantiated.
In this ticket we will focus on resolving updates when:
- we do not have repeated updates on the same key
- it is not a prepared transaction.
Scope:
- Implement slow path update resolution in commit and rollback
- Add a flag to avoid resolving updates in unhandled scenarios, i.e. prepare and multiple updates to a single key
- Add an assert to check that the slow path and fast path resolution matches and additional tests where appropriate
- depends on
-
WT-8304 Add support for taking weak hazard pointers on a page when adding a modification to the transaction
- Closed