[DRIVERS-525] Expand use of error labels for RetryableWrites Created: 11/Jul/18  Updated: 28/Oct/23  Resolved: 14/Oct/20

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Epic Priority: Critical - P2
Reporter: Rathi Gnanasekaran Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-45939 Have mongos propagate RetryableWriteE... Backlog
depends on CDRIVER-3462 Expand use of error labels for Retrya... Closed
depends on CXX-1888 Expand use of error labels for Retrya... Closed
depends on MOTOR-477 Expand use of error labels for Retrya... Closed
depends on PYTHON-2082 Expand use of error labels for retrya... Closed
depends on RUBY-2044 Expand use of error labels for Retrya... Closed
depends on RUST-368 Expand use of error labels for Retrya... Closed
depends on SERVER-41245 Add RetryableWriteError Error Label Closed
depends on CSHARP-2872 Expand use of error labels for Retrya... Closed
depends on GODRIVER-1437 Expand use of error labels for Retrya... Closed
depends on JAVA-3531 Expand use of error labels for Retrya... Closed
depends on NODE-2379 Expand use of error labels for Retrya... Closed
depends on PHPC-1510 Expand use of error labels for Retrya... Closed
Related
related to DRIVERS-826 Add RetryableWriteError error labels ... Implementing
is related to DRIVERS-2066 Investigate whether newer server vers... Backlog
Server Compat: 4.3
Quarter: FY20Q4
Start date:
End date:
Calendar Time: 0 minutes
Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-3462 Fixed 1.17.0-beta, 1.17.0
JAVA-3531 Fixed 4.1.0
GODRIVER-1437 Fixed 1.4.0
RUBY-2044 Fixed 2.13.0.beta1
CSHARP-2872 Fixed 2.11.0
CXX-1888 Done
MOTOR-477 Duplicate
NODE-2379 Fixed 3.6.0
PHPC-1510 Fixed 1.8.0-beta1, 1.8.0
PYTHON-2082 Fixed 3.11
RUST-368 Duplicate
SWIFT-793 Fixed 1.1.0

 Description   
Useful Info

Summary

A write error is now considered retryable if it has a RetryableWriteError label in the "errorLabels" field.

See the Determining Retryable Writes section for more information on how the driver should determine which write errors are retryable.

This change also involves implementing new spec tests that use the failCommand fail point to make sure that drivers are retrying writes based on the presence of the RetryableWriteError label, rather than error codes.

See this PR for complete changes.
Lead: jmikola
Author: Emily
POCs: Ruby - Emily, C#



 Comments   
Comment by Alexander Golin (Inactive) [ 14/Oct/20 ]

Closing out as the only remaining dependent ticket is a Server bug which has been identified as "works as designed" in the comment thread here

Comment by Jeremy Mikola [ 14/Sep/20 ]

SPEC-1420 was originally linked with DRIVERS-766, which was later closed as a duplicate of this issue (DRIVERS-525).

Generated at Thu Feb 08 08:21:44 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.