[SERVER-38355] WiredTigerRecoveryUnit::_txnOpen() should abort while commit/rollback handlers are running Created: 02/Dec/18 Updated: 29/Oct/23 Resolved: 04/Dec/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.7 |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | Benety Goh | Assignee: | Benety Goh |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Sprint: | Storage NYC 2018-12-17 | ||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 45 | ||||||||||||
| Description |
|
Currently, we hit this invariant in WiredTigerRecoveryUnit if a rollback handler accidentally reopens the transaction. This invariant is triggered after all the rollback handlers have run, making it hard to identify the errant handler. As a rule, commit and rollback handlers should avoid accessing the OperationContext and RecoveryUnit. It would be useful for debugging to abort at the point where the rollback/commit handler is attempting to reopen the transaction. |
| Comments |
| Comment by Githook User [ 04/Dec/18 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: The invariant is added to WiredTigerRecoveryUnit::_txnOpen(). |
| Comment by Githook User [ 04/Dec/18 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}Message: |
| Comment by Githook User [ 04/Dec/18 ] |
|
Author: {'name': 'Benety Goh', 'email': 'benety@mongodb.com'}Message: This member variable was last referenced in commit 8257a817bfaf596e68204ad858f811e294d986b5. |