[JAVA-1815] Remove from the topology a replica set member whose "me" hostname:port does not match the one that was used to connect to it Created: 15/May/15  Updated: 28/May/15  Resolved: 19/May/15

Status: Closed
Project: Java Driver
Component/s: Cluster Management
Affects Version/s: 2.13.1, 3.0.1
Fix Version/s: 2.13.2, 3.0.2, 3.1.0, 2.14.0

Type: Improvement Priority: Major - P3
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-230 Remove from the topology a replica se... Closed

 Description   

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.



 Comments   
Comment by Jeffrey Yemin [ 28/May/15 ]

Fix released in 2.13.2.

Comment by Githook User [ 19/May/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Remove from the cluster description a replica set member whose "me" hostname:port does not match the one that was used to connect to it.

JAVA-1815
Branch: 2.13.x
https://github.com/mongodb/mongo-java-driver/commit/c2f679a5621a000633c1159849d20fd71a59cc0c

Comment by Githook User [ 19/May/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Remove from the cluster description a replica set member whose "me" hostname:port does not match the one that was used to connect to it.

JAVA-1815
Branch: 2.x
https://github.com/mongodb/mongo-java-driver/commit/ac9338c0e2e6285997b89964c98e243def242484

Comment by Githook User [ 19/May/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Remove from the cluster description a replica set member whose "me" hostname:port does not match the one that was used to connect to it.

JAVA-1815
Branch: 3.0.x
https://github.com/mongodb/mongo-java-driver/commit/1fc66ad4e1d80cbc4954c4bc57cac44119972562

Comment by Githook User [ 19/May/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Remove from the cluster description a replica set member whose "me" hostname:port does not match the one that was used to connect to it.

JAVA-1815
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/8e6610dc43ae0d2e6c3654e592c61d9a070e2826

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