[SERVER-48386] Adding a new shard while awaiting a future startAtOperationTime can result in unexpected $changeStream events Created: 22/May/20 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Bernard Gorman | Assignee: | Backlog - Query Execution |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | change-streams-improvements | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Query Execution
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
If the user opens a change stream at a point in the future, and then adds a new shard before the cluster reaches that time, then the stream on the new shard will be opened at the current clusterTime. The stream will therefore be able to see events on the new shard even if these events precede the user's requested startAtOperationTime. The postBatchResumeToken returned to the client will also revert back-in-time to the current clusterTime. |