[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: |
|
||||||||||||||||||||||||||||||||
| 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: |
| 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. |