[CDRIVER-4125] Implement SRV polling tests 1-8 Created: 10/Aug/21  Updated: 10/Feb/23

Status: Backlog
Project: C Driver
Component/s: tests
Affects Version/s: None
Fix Version/s: None

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

Epic Link: CDRIVER-2733

 Description   

Summary

The prose tests 1-8 in the SRV polling test readme are not implemented in the C driver.

The readme notes that manual testing is acceptable where mocking DNS records is not practical:

However, it might be possible to mock changes to DNS SRV records such that automated testing is doable. In any case, the following tests should be executed, either manually, or programmatically.

However, CDRIVER-4048 introduces a way to mock DNS results with _mongoc_topology_set_rr_resolver. This can be used to implement prose tests 1-8.

Motivation

A bug in SRV polling could result in client applications not properly updating the host list when DNS SRV records change. Note that there have been severe problems with SRV polling before. CDRIVER-3614 is a bug resulting in SRV polling not occurring at all.

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

SRV polling behavior changed as recent as the 1.19.0 release for load balancer support: CDRIVER-4048. If SRV polling behavior changes again, that risks the possibility that the tests are not run manually.

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/Aug/21 ]

Author:

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

Message: CDRIVER-4106 Update numbers for existing SRV polling prose tests. (#845)

Only prose test 9 is currently implemented according to spec. Behavior of
test_srv_polling_mocked does not conform to prose tests described by spec.
Therefore, only names related to prose test 9 are updated with numbering.

Prose tests 1 through 8 are to be implemented separately; see
CDRIVER-4125.
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/f44f86838866ddfc1aaabd03f6e61162b19fe0cd

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