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

ScopedTaskExecutor violates the TaskExecutor contract

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Operating System:
      ALL
    • Linked BF Score:
      27
    • Story Points:
      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

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-servicearch Backlog - Service Architecture
              Reporter:
              spencer Spencer Brody (Inactive)
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: