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

Make diskRequirement in StageConstraints in DocumentSource reflect child pipeline requirements.

    XMLWordPrintableJSON

Details

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

    Description

      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 

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: