Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-14120

Investigate changes in SERVER-48980: Associate ServiceExecutors with Clients

      Description

      Downstream Change Summary

      In currentOp, each external client entry will now have a boolean field "threaded" that describes if it is eligible to occupy a dedicated thread for service execution/ingress networking. Note that it may not yet have occupied said thread but is expected to for the following operation.

      Description of Linked Ticket

      ServiceExecutors are executors: asynchronous task queues processed by one or more threads. When the ServiceStateMachine needs to queue a new iteration of the command loop, the schedule that work onto a ServiceExecutor (see here). For normal users, all executors are either the ServiceExecutorSynchronous or the ServiceExecutorReserved (which is set here).

      We want to allow each Client to have its own ServiceExecutor pointer as a mutable member. Importantly, each Client does not own their ServiceExecutor. We expect that a command or the even ServiceStateMachine might change which executor a client is associated with. Once this is done, we want to remove the ServiceExecutor associated with the ServiceStateMachine (see here) and use the client's wherever it would be used.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              1 year, 25 weeks, 4 days ago