Description:
Though the code change is internal code, a consequence of this is that users are no longer allowed to create views whose pipelines contain a $out stage, whether it's at the top level or nested inside a $lookup or $facet.
See the docs changes for SERVER-34902; they're related.
Engineering Ticket 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