[SERVER-64592] Make sure events with large documentKey do not crash change stream Created: 16/Mar/22 Updated: 06/Dec/22 Resolved: 17/Mar/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Query Execution |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Wenbin Zhu | Assignee: | Backlog - Query Execution |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Query Execution
|
||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
For change events with fullDocument field, the documentKey would be duplicated in the fullDocument field. If the document has large documentKey, the total size of the event would exceed the 16MB bson limit because of the duplication, and cause the change stream cursor to fail. What could be worse is that the resumeToken can also encode documentKey, resulting in more duplicates. We need to investigate approaches to mitigate this. |