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

Tasks which run on the MigrationUtilExecutor must not wait for shutdown to complete

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • ALL
    • v5.3, v5.0, v4.4
    • Sharding EMEA 2021-11-01, Sharding EMEA 2021-12-27, Sharding EMEA 2022-01-10, Sharding EMEA 2022-01-24, Sharding EMEA 2022-03-21, Sharding EMEA 2022-05-02
    • 33
    • 3

    Description

      All the blocking range deletion recovery work happens on the MigrationUtilExecutor and eventually calls into retryIdempotentWorkAsPrimaryUntilSuccessOrStepdown, which is a strictly blocking call that relies on globalInShutdownDeprecated/waitForShutdown.

      Given that we join the MigrationUtilExecutor on shutdown, this can result in a deadlock where the shutdown thread is waiting for the executor to complete and the executor is waiting on shutdown to complete.

      Attachments

        Issue Links

          Activity

            People

              tommaso.tocci@mongodb.com Tommaso Tocci
              kaloian.manassiev@mongodb.com Kaloian Manassiev
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: