Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-31648

isMaster should unset the kPending tag and set the kLatestVersionInternalClientKeepOpen tag in one operation

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.6.0-rc3
    • Component/s: Networking
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Query 2017-11-13
    • Linked BF Score:
      0

      Description

      Before a 3.6 internal client has issued its initial isMaster command, its SessionHandle is protected from being terminated by the kPending tag. The isMaster command removes the kPending status but (when the client is new enough) adds kLatestVersionInternalClientKeepOpen status, which protects the session from being terminated by a featureCompatibilityVersion upgrade.

      However, there is a small window between the unset and the set during which there is nothing to stop a featureCompatibilityVersion upgrade from terminating the session, which is causing failed updates and inserts in the toggle_feature_compatibility.js test.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: