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

StorageTimestampTests::TimestampIndexOplogApplicationOnPrimary hangs due to race between _tryCommit and IndexBuildState::kInProgress

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor - P4 Minor - P4
    • 4.4.0-rc8, 4.7.0
    • None
    • Storage
    • None
    • Fully Compatible
    • ALL
    • v4.4
    • Execution Team 2020-06-15
    • 0

    Description

      This test may wait indefinitely as it is trying to apply the commitIndexBuild oplog entry.

      The index build commit code keeps checking the pre-commit condition every 100 ms. If the index build thread is still setting up when _tryCommit is trying to evaluate the pre-commit condition, the condition fails, leading to the test waiting indefinitely because OperationContext::sleepFor() never returns.

      The wait function in the OperationContext is dependent on the ClockSource installed in the ServiceContext. For the dbtests framework, the implementation used is the ClockSourceMock, which needs to be advanced explicitly by the test code.

      Attachments

        Activity

          People

            benety.goh@mongodb.com Benety Goh
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: