Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-390

Call "ping" on a socket that has been idle for socketCheckIntervalMS

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor - P4 Minor - P4
    • None
    • None
    • None
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      PERL-785 Fixed 2.1.0
      NODE-1755 Won't Fix
      PHPC-1296 Works as Designed
      GODRIVER-631 Done No Release
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion PERL-785 Fixed 2.1.0 NODE-1755 Won't Fix PHPC-1296 Works as Designed GODRIVER-631 Done No Release

    Description

      Change to specification for single-threaded clients and the meaning of socketCheckIntervalMS.

      Before, single-threaded drivers were required to call "ismaster" on a socket that's been idle for socketCheckIntervalMS before using the socket. It was not clear what the driver should do with the ismaster response, or what it should do if ismaster failed.

      Instead, what the driver should do is re-check an idle socket right after server selection. If a server is selected that has an existing connection that's been idle for 5 seconds, the driver should attempt to call "ping", not ismaster, since we're not trying to update the topology. If "ping" succeeds, use the socket. If it failed, set the server's type to Unknown and re-enter server selection once, re-discovering the topology if needed (as SDAM already specifies), then proceed from there.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jesse@mongodb.com A. Jesse Jiryu Davis
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: