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