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

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor - P4
    • 4.4.0-rc8, 4.7.0
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • ALL
    • v4.4
    • Execution Team 2020-06-15
    • 0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

              Assignee:
              Benety Goh
              Reporter:
              Benety Goh
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: