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

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

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

      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@mongodb.com Benety Goh
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: