Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. 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

    XMLWordPrintableJSON

Details

    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.

      Attachments

        Activity

          People

            jeff.yemin@mongodb.com Jeffrey Yemin
            jeff.yemin@mongodb.com Jeffrey Yemin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: