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

Fix aggregation_currentop.js such that we don't compare timestamps generated from 2 different sources (mozjs & server).

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor - P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.7, 4.1.8
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.0
    • Sprint:
      Repl 2019-02-11, Repl 2019-02-25
    • Linked BF Score:
      11

      Description

      Windows 2015 doesn't support millisecond granularity for time, we calculate the time based on estimation. So, its possible transactionDocument.startWallClockTime (calculated by the server) can be behind timeBeforeTransactionStarts (calculated by mozjs) by few milliseconds.  Since, on windows 2015 , its not safe to compare the timestamps obtained from 2 different sources mozjs and server, and we already do have a check that verifies  that transactionDocument.startWallClockTime < transactionDocument.expiryTime, it is ok to just verify that  transactionDocument.startWallClockTime >  epoch timestamp (1970-01-01T00:00:00.000).

       Note: In Windows 2017, the problem got fixed as it can return high resolution timestamps. And, currently, on evergreen, the master branch is running on windows 2017. But, 4.0 branch is still using windows 2015.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: