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

$redact inhibits change stream optimization

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.0.6, 6.0.14, 8.0.0-rc0, 7.3.0-rc3
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • v7.3, v7.0, v6.0
    • QE 2024-02-05, QE 2024-02-19

      The DSCSEnsureResumeTokenPresent and internal DSCSHandleTopologyChange stages are permitted to swap with $match and single-document transformation stages during optimization, to allow user-specified stages to be moved closer to the front of the pipeline, and in particular to allow them to be pushed down to the shards in a cluster deployment. The $redact stage is allowed in a change stream pipeline, but it is not internally implemented or recognised as a single-document transformation; it therefore does not get moved ahead of the change stream stages mentioned above, and does not get pushed down to the shards. This can in turn inhibit any stages after the $redact from being pushed down, which negatively affects performance for $match and $project-like stages, and in the case of the split large events stage will prevent large events from being fragmented on the shards before being sent to mongoS.

            romans.kasperovics@mongodb.com Romans Kasperovics
            bernard.gorman@mongodb.com Bernard Gorman
            0 Vote for this issue
            3 Start watching this issue