[SERVER-65254] Disable TemporarilyUnavailableException behavior by default Created: 05/Apr/22  Updated: 29/Oct/23  Resolved: 08/Apr/22

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

Type: Bug Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Louis Williams
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Duplicate
is duplicated by SERVER-65109 TemporarilyUnavailable error escapes ... Closed
Related
related to SERVER-60839 Introduce a TemporarilyUnavailable er... Closed
related to SERVER-67984 Re-enable TemporarilyUnavailableExcep... Closed
is related to SERVER-65360 TemporarilyUnavailable errors incorre... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v5.3
Sprint: Execution Team 2022-04-18
Participants:
Linked BF Score: 53

 Description   

As the title describes, updates performed by a query currently do not handle TemprorailyUnavailableException as they don't use writeConflictRetry.

This exception should be handled by the server and not reported to the user in the same way we treat it in writeConflictRetry



 Comments   
Comment by Githook User [ 08/Apr/22 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-65254 Disable TemporarilyUnavailableExceptions by default
Branch: master
https://github.com/mongodb/mongo/commit/6c397f3bfd171476f348e71afca9ecdb5ea9a312

Comment by Louis Williams [ 06/Apr/22 ]

This is actually quite tricky to solve. The query system relies on the fact that NEED_YIELD only originates due to WriteConflictExceptions. But it doesn't propagate any error information. Additionally, the query system only allows exceptions to escape if they are operation-fatal. Otherwise, we fail to correctly clean up resources.

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