[CXX-1993] Clarify how a driver must handle wrong set name in single topology Created: 14/Apr/20  Updated: 29/May/20  Resolved: 29/May/20

Status: Closed
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-3619 Clarify how a driver must handle wron... Closed
Epic Link: CXX 4.4 Support

 Description   

Description of Drivers Ticket:

The SDAM specification allows specifying replica set name in single topology (https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#initial-setname). If this is done, the set name specified by the application must match the set name reported by the deployment. https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.rst#verifying-setname-with-topologytype-single says:

> A client MAY allow the user to supply a setName with an initial TopologyType of Single. In this case, if the ServerDescription's setName is null or wrong, the client MUST throw an error on every operation.

The Ruby driver satisfies this requirement by checking setName during server selection if the deployment is in single topology. However the prescribed server selection procedure in single topology (https://github.com/mongodb/specifications/blob/master/source/server-selection/server-selection.rst#topology-type-single) does not mention such a check.

In order to improve consistency in how different drivers handle wrong setName when in single topology, either the SDAM or server selection specifications could either recommend or mandate a specific procedure that the drivers must follow when the set name of the deployment does not match the expected set name.
See DRIVERS-980 for updated details.



 Comments   
Comment by Kevin Albertson [ 29/May/20 ]

C++ does not test SDAM tests since it relies entirely on libmongoc for SDAM.

Comment by April Schoffer [ 20/Apr/20 ]

Will be handled by C.

Generated at Wed Feb 07 22:04:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.