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

Docs for SERVER-38311: Investigate changing host type requirement for $out

      Description

      Description:

      The $out stage can now be run in parallel on all shards if
      1) the targeted collection is sharded (so only modes "insertDocuments" or "replaceDocuments", as of this writing)
      2) The collection of the aggregation (e.g. "foo" in db.foo.aggregate([{$out: "bar"}])) is sharded
      3) There is no stage which otherwise "forces a split" of the pipeline like a $group.

      Engineering Ticket Description:

      During the design we agreed to the following change in merging policy:

      We will change the pipeline splitting logic such that $out is not forced to execute in the merger part of the pipeline, and does not cause the pipeline to split. If $out is preceded by stages that can all execute in the shards part, then each shard will be responsible for dispatching writes to the correct shard.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

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

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              5 years, 10 weeks, 2 days ago