[SERVER-79664] Handle TemporarilyUnavailableException in prepared transactions application Created: 03/Aug/23  Updated: 18/Nov/23  Resolved: 05/Sep/23

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

Type: Bug Priority: Major - P3
Reporter: Josef Ahmad Assignee: Yujin Kang Park
Resolution: Fixed Votes: 0
Labels: bkp
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Duplicate
is duplicated by SERVER-80461 Handle TemporarilyUnavailable and Tra... Closed
Assigned Teams:
Storage Execution EMEA
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v7.1, v7.0, v6.0
Sprint: Execution EMEA Team 2023-09-04, Execution EMEA Team 2023-09-18
Participants:
Linked BF Score: 114

 Description   

Applying operations for a prepared transaction catches exceptions returns them as a Status. This escapes the caller's writeConflict retry block. The block re-throws a WriteConflict status to its exception, but fails to do the same for the TemporarilyUnavailableException (TUE) and trips an fassert.

We should at a minimum catch the TUE and rethrow it. Ideally, we should convert the code to throw directly instead of catching and returning a status.



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

Author:

{'name': 'Yu Jin Kang Park', 'email': 'yujin.kang@mongodb.com', 'username': 'ykangpark'}

Message: SERVER-79664 Rethrow WCE, TUE, TransactionTooLargeForCache in _applyOperationsForTransaction
Branch: v7.0
https://github.com/mongodb/mongo/commit/af9064d0a19f997fa1132e82afa2dba8c79e7ee4

Comment by Githook User [ 18/Sep/23 ]

Author:

{'name': 'Yu Jin Kang Park', 'email': 'yujin.kang@mongodb.com', 'username': 'ykangpark'}

Message: SERVER-79664 Rethrow WCE, TUE, TransactionTooLargeForCache in _applyOperationsForTransaction
Branch: v7.1
https://github.com/mongodb/mongo/commit/51f14bb0542b80b195a381ccdf7bf29d6032f0f0

Comment by Githook User [ 05/Sep/23 ]

Author:

{'name': 'Yu Jin Kang Park', 'email': 'yujin.kang@mongodb.com', 'username': 'ykangpark'}

Message: SERVER-79664 Rethrow WCE, TUE, TransactionTooLargeForCache in _applyOperationsForTransaction
Branch: master
https://github.com/mongodb/mongo/commit/02f7634eb1db5288671c85bd1f8649d67e04574c

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