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

Introduce ReplicaSetNodeProcessInterface and a new TaskExecutor for it to use

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.4
    • Affects Version/s: None
    • Component/s: Aggregation Framework
    • None
    • Minor Change
    • Query 2020-02-10, Query 2020-02-24

      • This work should be based on top of the changes from SERVER-45838.
      • ReplicaSetNodeProcessInterface should behave identically to StandaloneProcessInterface for now; subsequent work will be done to introduce special behavior for RSNodeInterface.
        • This ticket will also involve creating StandaloneProcessInterface as a sibling of ReplicaSetNodeProcessInterface in the inheritance hierarchy.
      • The process interface factory should be changed under this ticket to hand out instances of the ReplicaSetNodeProcessInterface only if a few conditions are met:
        • The node is a member of a replica set but not a shardsvr. The POC proposes inferring this based on the presence of the new TaskExecutor on the ServiceContext.
        • enableTestCommands is set. This will have the effect of flag-guard the $merge/$out on secondaries feature into it is in a shippable state.
      • We can worry about attaching the right egress hooks in a subsequent ticket. Getting a basic version of the ReplicaSetNodeProcessInterface in place quickly will enable better parallelization of the remaining work.

            Assignee:
            mihai.andrei@mongodb.com Mihai Andrei
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: