ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • Repl 2026-08-17, Repl 2026-08-31
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      Add test-only coverage that enforces the executor contract AsyncWorkScheduler relies on: the handle-returning scheduling methods must return ShutdownInProgress without running their callback when the executor is shut down.

      Background

      AsyncWorkScheduler (transaction_coordinator_futures_util.h) schedules executor work whileholding its own _mutex, and the scheduled callback re-acquires _mutex on the cancellation path. This is only safe because ThreadPoolTaskExecutor::scheduleWork / scheduleWorkAt /
      scheduleRemoteCommand return ShutdownInProgress without storing or running the callback when shut down (via _registerCallbackState). If they ran the callback inline instead, it would re-lock _mutex on the same thread and self-deadlock..

      This contract was relied on but not covered by tests.

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

              Created:
              Updated:
              Resolved: