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

ScopedTaskExecutor violates the TaskExecutor contract

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Service Arch
    • ALL
    • 0
    • 5

    Description

      Implementations of TaskExecutor::scheduleWork are required not to move-from their provided 'work' CallbackFn when returning a non-ok status. This requirement is relied on in TaskExecutor::schedule to call the callback with the non-ok status returned from scheduleWork.

      ScopedTaskExecutor is violating this contract and moving-from the provided work callback even when returning a non-ok Status from scheduleWork. We have evidence of this happening from build failures. While not confirmed, the likely culprit is this line. We need to fix this or else risk triggering this invariant in production runs.

      Attachments

        Activity

          People

            backlog-server-servicearch Backlog - Service Architecture
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: