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

getMore should not enforce that session id matches until FCV is 4.0

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 4.0.1
    • Fix Version/s: 4.0.3
    • Component/s: Querying, Upgrade/Downgrade
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Query 2018-08-27, Query 2018-09-10

      Description

      Starting in 4.0 we validate that if a cursor was opened within a session then each getMore should include the same session id. Unfortunately, on 3.6 versions (up to the one in which SERVER-34204 is backported, if that happens), there is a known issue where a change stream will not include the lsid. This can cause problems when upgrading to 4.0, when your mongos is old and subject to this bug (which as far as I know doesn't have much of a user impact, maybe just that it doesn't ping the session to keep it alive as frequently?), but the shards will be more strict and cause the operation to fail.

      To guard against this unpleasant upgrade scenario, we should only assert the getMore has a matching LSID if the FCV is at least 4.0.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: