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

Disable oplog rewrites if featureFlagTimeSeriesChangeStreams is enabled

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Execution
    • 1

    Description

      In SERVER-67666, when we create a change stream on a single timeseries collection, we will change the namespace to the underlying bucket collection under the hood, and everything can proceed as normal.

      However, in this scenario, the oplog rewrites will all be wrong. Therefore, we need to disable oplog rewrites on timeseries collections if this feature flag is enabled.

      If we're creating a change stream on a whole database or a whole cluster, then the change stream will involve multiple collections, which potentially includes regular collections as well as timeseries collections. To account for both, we need to selectively enable oplog rewrites for non-timeseries change streams. 

      To do this, we need to add a buildTimeseriesOperationFilter branch in the oplog filter that allows all operations on timeseries collections through. They will be filtered post-transformation.

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            jennifer.peshansky@mongodb.com Jennifer Peshansky (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: