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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.0-rc3
    • Affects Version/s: None
    • Component/s: Networking
    • None
    • Fully Compatible
    • ALL
    • Query 2017-11-13
    • 0

      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.

            Assignee:
            justin.seyster@mongodb.com Justin Seyster
            Reporter:
            justin.seyster@mongodb.com Justin Seyster
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: