[CDRIVER-3462] Expand use of error labels for RetryableWrites Created: 11/Dec/19  Updated: 04/Jan/24  Resolved: 04/Mar/20

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 1.17.0-beta, 1.17.0

Type: Task Priority: Major - P3
Reporter: PM Bot Assignee: Andreas Braun
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-525 Expand use of error labels for Retrya... Closed
is depended on by PHPC-1510 Expand use of error labels for Retrya... Closed
is depended on by PHPC-1530 Make ExceededTimeLimit retryable writ... Closed
Related
related to CDRIVER-3673 Retryable write error checking should... Closed
related to CDRIVER-4808 Do not check writeConcernError in mon... Closed
Epic Link: C 4.4 Support

 Description   

See DRIVERS-525 for details.



 Comments   
Comment by Githook User [ 04/Mar/20 ]

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

Comment by Githook User [ 18/Feb/20 ]

Author:

{'username': 'alcaeus', 'name': 'Andreas Braun', 'email': 'git@alcaeus.org'}

Message: CDRIVER-3462 expand use of error labels for RetryableWrites
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/e69fd8960da6c11ef2ac22b662218da4e7cd3692

Generated at Wed Feb 07 21:18:06 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.