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

Validate oplog entry format for change streams when testing

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

      In most cases, change stream DDL events take the "o" field from the oplog entry and propagate it agnostically as the "operationDescription" field in the corresponding change event. This ensures that change streams will capture any significant oplog fields that are added in the future. However, it may be desirable to have a mechanism to automatically detect any such oplog changes so that we are forced to consider whether this field should be added to the change event, whether the field name should be changed to something more comprehensible, etc.

      To achieve this, we could make the change streams code validate the expected oplog format whenever we're in test-commands mode. That way, if someone is modifying the oplog entry for an event that change stream supports, the change stream tests will throw in Evergreen and force us to consider what we want to do about the new oplog contents. In production, we would skip this check so as not to affect performance. This would also allow us to give the mongosync team an early heads-up that the contents of that event are about to change.

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            bernard.gorman@mongodb.com Bernard Gorman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: