[SERVER-69848] Validate oplog entry format for change streams when testing Created: 21/Sep/22  Updated: 05/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Bernard Gorman Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

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.


Generated at Thu Feb 08 06:14:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.