|
Author:
{'name': 'Andreas Braun', 'username': 'alcaeus', 'email': 'git@alcaeus.org'}
Message: 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.
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/3ee5fbb98da8d9740051be76ea9b301e75ecf540
|