ExportXMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Minor - P4
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • ALL
    • Hide

      This is a rare case that happens sometimes with this test. The only way to catch it is to run the test a very large number of times

      Show
      This is a rare case that happens sometimes with this test. The only way to catch it is to run the test a very large number of times
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The test hangs because shutdown() causes _finishCallback to be scheduled on _exec->scheduleWork(), which enqueues a task into the ThreadPoolMock. But the mock's single worker thread is blocked in NetworkInterfaceMock::waitForWork() and nobody signals it to wake up. The task sits in the queue forever, so _finishCallback never runs and the failpoint is never hit.

      The sibling test (InitialSyncerResetsOnCompletionCallbackFunctionPointerUponCompletion) handles this correctly by calling NetworkInterfaceMock::InNetworkGuard(getNet())->runReadyNetworkOperations() after shutdown() to wake the mock executor thread.

      Fix: Add executor::NetworkInterfaceMock::InNetworkGuard(getNet())->runReadyNetworkOperations() between shutdown() and waitForTimesEntered() in the test.

            Assignee:
            Denis Trailin
            Reporter:
            Denis Trailin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: