[SERVER-77988] Split wiredTigerPrepareConflictRetry into fast and slow paths Created: 12/Jun/23  Updated: 29/Oct/23  Resolved: 22/Jun/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

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

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Sprint: Security 2023-06-26
Participants:
Linked BF Score: 4

 Description   

wiredTigerPrepareConflictRetry is a 87 line function that is used twice in WiredTigerRecordStoreCursorBase::next. This function consists of a fast and slow path. The fast path is called when there are no errors and the function exits early. The slow path waits for other transactions to be committed. This function can be split into a part that can be inlined and a separate function that calls a lambda in the slow case. This will save code duplication and shrink function size.



 Comments   
Comment by Githook User [ 22/Jun/23 ]

Author:

{'name': 'Mark Benvenuto', 'email': 'mark.benvenuto@mongodb.com', 'username': 'markbenvenuto'}

Message: SERVER-77988 Split wiredTigerPrepareConflictRetry into fast and slow paths
Branch: master
https://github.com/mongodb/mongo/commit/b4a882d4d647904642fdc9057555996eca287158

Generated at Thu Feb 08 06:37:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.