[DRIVERS-2489] Improve test coverage for retryable handshake errors Created: 01/Nov/22  Updated: 03/Jan/23

Status: Implementing
Project: Drivers
Component/s: Retryability
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Ezra Chung Assignee: Ezra Chung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split to JAVA-4831 Improve test coverage for retryable h... Backlog
split to GODRIVER-2639 Improve test coverage for retryable h... Blocked
split to PHPLIB-1033 Improve test coverage for retryable h... Blocked
split to CDRIVER-4517 Improve test coverage for retryable h... Closed
split to CSHARP-4394 Improve test coverage for retryable h... Closed
split to CXX-2610 Improve test coverage for retryable h... Closed
split to JAVA-4798 Improve test coverage for retryable h... Closed
split to MOTOR-1062 Improve test coverage for retryable h... Closed
split to NODE-4790 Improve test coverage for retryable h... Closed
split to PYTHON-3500 Improve test coverage for retryable h... Closed
split to RUBY-3171 Improve test coverage for retryable h... Closed
split to RUST-1531 Improve test coverage for retryable h... Closed
Related
is related to DRIVERS-746 Drivers should retry operations if co... Implementing
Driver Changes: Needed
Downstream Changes Summary:
  • Sync unified spec test files for Retryable Reads and Retryable Writes with 35b17b70 (formerly b9cdbbbe; bugfix applied to skip operations not supported on serverless).
Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4517 Fixed 1.24.0
CXX-2610 Fixed 3.8.0
CSHARP-4394 Done 2.19.0
GODRIVER-2639 Blocked
JAVA-4798 Fixed 4.9.0
NODE-4790 Fixed 4.12.1
MOTOR-1062 Duplicate
PYTHON-3500 Fixed 4.3.3
PHPLIB-1033 Blocked
RUBY-3171 Fixed 2.19.0
RUST-1531 Fixed 2.4.0
SWIFT-1676 Won't Do
JAVA-4831 Backlog

 Description   

Summary

Improve unified spec test coverage of retryable handshake network errors as specified by the Retryable Writes and Retryable Reads specs following DRIVERS-746.

Motivation

Who is the affected end user?

Drivers implementing Retryable Writes and Retryable Reads. Depending on the implementation, different operations may trigger different code paths. Different code paths may or may not handle retryable handshake network errors as expected.

How does this affect the end user?

Additional tests may expose operations that fail to retry on handshake network errors as required by the spec.

How likely is it that this problem or use case will occur?

Unlikely, but depends on a Driver's implementation of Retryable Writes and Retryable Reads.

If the problem does occur, what are the consequences and how severe are they?

Minor. Drivers may need to update their implementation of DRIVERS-746 to account for missed supported operations.

Is this issue urgent?

No.

Is this ticket required by a downstream team?

No.

Is this ticket only for tests?

Yes.



 Comments   
Comment by Githook User [ 16/Nov/22 ]

Author:

{'name': 'Shane Harvey', 'email': 'shnhrv@gmail.com', 'username': 'ShaneHarvey'}

Message: DRIVERS-2489 Properly skip createChangeStream tests on serverless (#1346)

Skip $listLocalSessions on serverless too.
Make test descriptions unique.
Branch: master
https://github.com/mongodb/specifications/commit/35b17b70eb4a9db1f244345d01d6321b98132e47

Comment by Githook User [ 10/Nov/22 ]

Author:

{'name': 'Ezra Chung', 'email': '88335979+eramongodb@users.noreply.github.com', 'username': 'eramongodb'}

Message: DRIVERS-2489 Improve test coverage for retryable handshake errors (#1336)

  • Add more handshake network error tests for retryable writes
  • Add more handshake network error tests for retryable reads
Generated at Thu Feb 08 08:25:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.