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

Disable oplog rewrites if featureFlagTimeSeriesChangeStreams is enabled

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • 1

      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.

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

              Created:
              Updated: