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

XMLWordPrintableJSON

    • 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
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

              Assignee:
              Tommaso Tocci
              Reporter:
              Kaloian Manassiev
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: