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

Modify TestTimerElapsedAfterMultipleDetachAttach to run multiple times

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2022-07-25, Execution Team 2022-08-08
    • 38

      PosixTimer relies on clock_gettime with CLOCK_THREAD_CPUTIME_ID to compute elapsed time. This is unreliable when the CPU on which the thread is executed changes, as the timer for that CPU will be different. This is fixed in glibc >= 2.4 running on kernel versions >= 2.6.12, but some evergreen instances still use older glibc versions. 

      The CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID clocks are realized on many platforms using timers from the CPUs (TSC on i386, AR.ITC on Itanium). These registers may differ between CPUs and as a consequence these clocks may return bogus results if a process is migrated to another CPU.

      We might try detecting this condition and retry the test. 

      Retry X times and establish a failure rate threshold.

            Assignee:
            yujin.kang@mongodb.com Yujin Kang Park
            Reporter:
            yujin.kang@mongodb.com Yujin Kang Park
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: