[DRIVERS-2234] Assert that a Ping operation succeeds in the initial DNS spec tests Created: 11/Mar/22  Updated: 28/Sep/22

Status: Implementing
Project: Drivers
Component/s: Initial DNS Seedlist Discovery
Fix Version/s: None

Type: Improvement Priority: Minor - P4
Reporter: Matt Dale Assignee: Matt Dale
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-2224 Update initial DNS seedlist discovery... Blocked
Duplicate
is duplicated by DRIVERS-2233 Assert that a Ping operation succeeds... Closed
Issue split
split to CDRIVER-4312 Assert that a Ping operation succeeds... Backlog
split to CSHARP-4099 Assert that a Ping operation succeeds... Backlog
split to CXX-2466 Assert that a Ping operation succeeds... Backlog
split to NODE-4083 Assert that a Ping operation succeeds... Backlog
split to RUBY-2925 Assert that a Ping operation succeeds... Backlog
split to GODRIVER-2333 Assert that a Ping operation succeeds... Closed
split to JAVA-4532 Assert that a Ping operation succeeds... Closed
split to MOTOR-910 Assert that a Ping operation succeeds... Closed
split to PHPLIB-812 Assert that a Ping operation succeeds... Closed
split to RUST-1219 Assert that a Ping operation succeeds... Closed
split to PYTHON-3170 Assert that a Ping operation succeeds... Closed
Driver Changes: Needed
Downstream Changes Summary:

Drivers teams need to:

  1. Sync the initial DNS seedlist discovery spec tests at commit b2e35cb.
  2. Implement the updated test runner.
    1. Add support for reading the new "ping" boolean field in the initial DNS seedlist discovery spec tests.
    2. Run a "ping" operation as the last step of the initial DNS seedlist discovery spec tests unless "ping" false or "error" is true. Assert that the "ping" succeeded.

Note that once drivers sync the initial DNS seedlist discovery spec tests at commit b2e35cb, that also completes DRIVERS-2224.

Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4312 Backlog
CXX-2466 Backlog
CSHARP-4099 Backlog
GODRIVER-2333 Fixed 1.11.1
JAVA-4532 Fixed 4.8.0
NODE-4083 Backlog
MOTOR-910 Duplicate
PYTHON-3170 Fixed 4.7
PHPLIB-812 Won't Do
RUBY-2925 Backlog
RUST-1219 Fixed 2.4.0
SWIFT-1518 Won't Do

 Description   

Summary

Currently, the initial DNS seedlist discovery spec test runner description requires creating a MongoClient initialized with the URI specified in the test and asserting that either the host lists match the expected values or that an error was thrown/returned. However, it does not specify to run an operation or create a connection, which can lead to incorrectly configured tests passing. Some drivers (e.g. the Go driver) do create connections, which exposes test misconfigurations.

Update the initial DNS seedlist discovery spec test runner description to require running a Ping operation with the created MongoClient in the no-error test cases.

Motivation

Who is the affected end user?

Driver devs.

How does this affect the end user?

Driver devs can be blocked and/or confused about the test failures.

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

The problem typically only occurs when the spec test or test environment changes.

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

Some drivers initial DNS seedlist discovery spec tests may pass while others fail using the same spec tests and configuration. Updates that introduce inconsistencies in the initial DNS seedlist discovery spec tests may go unrecognized in some drivers projects, but may impact . The result is that some drivers teams

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 [ 31/Aug/22 ]

Author:

{'name': 'Matt Dale', 'email': '9760375+matthewdale@users.noreply.github.com', 'username': 'matthewdale'}

Message: DRIVERS-2234 Run a ping after initializing a MongoClient in DNS seedlist tests. (#1173)

Co-authored-by: Kevin Albertson <kevin.albertson@10gen.com>
Branch: master
https://github.com/mongodb/specifications/commit/b2e35cb9e19ddb5bbfaea46d3126c3571819fdb2

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