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

Make diskRequirement in StageConstraints in DocumentSource reflect child pipeline requirements.

    • Minor Change
    • ALL
    • v4.0
    • Query 2018-09-24

      Currently, if a stage (e.g. `$lookup`) has a "sub" pipeline that requires it to write persistent data, the stage's diskRequirement doesn't reflect that.

      Instead the parent stage should have the max diskRequirement of it's pipeline's stages under the total ordering

      kNoDiskUse < kWritesTmpData < kWritesPersistentData
      

      e.g. of the bug https://github.com/mongodb/mongo/blob/b93fe0e61bf7e8bc96da2edeb66afa1b915b0b77/src/mongo/db/pipeline/document_source_lookup.h#L100-L112

      https://github.com/mongodb/mongo/blob/b93fe0e61bf7e8bc96da2edeb66afa1b915b0b77/src/mongo/db/pipeline/document_source_facet.cpp#L232-L265 

            Assignee:
            kyle.suarez@mongodb.com Kyle Suarez
            Reporter:
            samuel.mercier@mongodb.com Sam Mercier
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: