-
Type: Spec Change
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Component/s: Retryability
-
None
-
Needed
When a driver attempts to send a write command to the server, there are circumstances in which it is always safe to retry, e.g. a server selection error, a DNS error, a network error while writing to the socket, or a server error such as NotMaster or InterruptedDueToShutdown. In other cases the write can only be retried if the write satisfies the criteria in the Retryable Writes Spec, e.g. a network error while awaiting the server reply.
Consider improvements to driver error handling that accounts for the difference between these two categories of error.