[SERVER-80839] Handle write errors and other transient errors if any Created: 07/Sep/23  Updated: 02/Nov/23  Resolved: 02/Nov/23

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

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

Assigned Teams:
Sharding NYC
Backwards Compatibility: Fully Compatible
Participants:

 Description   

After we have a retry loop structure, figure out how are errors handled; what kind of errors need to be retried at the loop structure, and what kind at the "execute()" stub function. What kinds of errors result in stopping of work. How and where are interrupts and cancellations handled for this code path?

EDIT: With the changes incorporated in code to interface easily with BulkWriteAPI, we will need to handle retryable/non-retryable errors smartly when calling WriteOp:noteWriteWithoutShardKeyWithIdResponse() and later when checking targeter.hasStaleShardResponse() in executeNonTargetedSingleWriteWithoutShardKeyWithId() so that we don't reset the WriteOp after marking it completed

Thanks to kaitlin.mahar@mongodb.com for catching this in code review.



 Comments   
Comment by Githook User [ 02/Nov/23 ]

Author:

{'name': 'Abdul Qadeer', 'email': 'abdul.qadeer@mongodb.com', 'username': 'zorro786'}

Message: SERVER-80839 Handle retryable and non-retryable errors
Branch: master
https://github.com/mongodb/mongo/commit/eac8738fb5cdcf54ef416f3d7098fb990992cfde

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