Make diskRequirement in StageConstraints in DocumentSource reflect child pipeline requirements.

XMLWordPrintableJSON

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

      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 (Inactive)
            Reporter:
            Sam Mercier
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: