-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.13.1, 3.0.1
-
Component/s: Cluster Management
-
None
Given the behavior specified in the current version of the SDAM specification, it's possible for get-more/kill-cursor requests to fail in the following scenario:
- Create MongoClient with a seed list with IP addresses for a replica set with host names as normal DNS names.
- Execute a query with a non-primary read preference
- Execute a get-more for that query
This can happen because server selection will succeed against a seed list host that reports itself as a secondary, but by the time the get-more executes, the primary has identified itself and the driver has replaced all the ip-address-specified seed list hosts with the host names from the primary's server description. The result is that server selection fails for the get-more, as the topology has "forgotten" about the seed list hosts.
See https://github.com/mongodb/specifications/commit/5a4005f0bb97ff5238e3a67501ec2ece64326a4f for the formal specification of this enhancement.
- is depended on by
-
DRIVERS-230 Remove from the topology a replica set member whose "me" hostname:port does not match the one that was used to connect to it
- Closed