CDRIVER-3462 Fix applying retryable write error label
Previously, on 4.4+, an error was deemed retryable if it had a RetryableWriteError label or matched one of the error codes supplied. This however only applies to servers < 4.4. Behaviour is fixed now to only treat writes as retryable if a 4.4 server returns a RetryableWriteError label or if an older server error matches the list of error codes. In this case, we'll also apply a RetryableWriteError label to the reply document. Retryable write errors for transaction finish commands (commitTransaction/abortTransaction) were also not handled correctly. This is now fixed as well and the RetryableWriteError label is appended for retryable errors when committing or aborting a transaction.
parent
717fb868
Please register or sign in to comment