[SERVER-45650] Do not std::terminate() if _commitStorageTransaction throws for unprepared transactions Created: 17/Jan/20  Updated: 29/Oct/23  Resolved: 23/Jan/20

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.3.3

Type: Task Priority: Major - P3
Reporter: Maria van Keulen Assignee: Maria van Keulen
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-45370 Test scenarios where multiple transac... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-01-27
Participants:
Linked BF Score: 9

 Description   

Presently, _commitStorageTransaction does not allow any exceptions to be thrown. This restriction should be able to be lifted for unprepared transactions.

logOplogEntriesForTransaction should be a transactional operation, so the inner WriteUnitOfWork and writeConflictRetry should not be necessary, and an invariant should be added that the operation has a parent WriteUnitOfWork.



 Comments   
Comment by Githook User [ 23/Jan/20 ]

Author:

{'username': 'mvankeulen94', 'name': 'Maria van Keulen', 'email': 'maria.vankeulen@mongodb.com'}

Message: SERVER-45650 Allow exceptions during storage commit for unprepared txns
Branch: master
https://github.com/mongodb/mongo/commit/822d13b197ea8bf4e8569f7fc35e7ba871c7424b

Generated at Thu Feb 08 05:09:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.