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).

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • 4.0.7, 4.1.8
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • ALL
    • v4.0
    • Repl 2019-02-11, Repl 2019-02-25
    • 11

      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.

            suganthi.mani@mongodb.com Suganthi Mani
            suganthi.mani@mongodb.com Suganthi Mani
            0 Vote for this issue
            2 Start watching this issue