Details
-
Task
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Sharding NYC
-
Fully Compatible
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.