Introduce ReplicaSetNodeProcessInterface and a new TaskExecutor for it to use

XMLWordPrintableJSON

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

      • 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
              Reporter:
              David Storch
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: