[SERVER-31584] limit initial sync lookahead buffer by size during oplog application phase Created: 16/Oct/17 Updated: 22/Aug/23 Resolved: 22/Aug/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 3.4.6, 3.6.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Bruce Lucas (Inactive) | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | RF36, initialSync, neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||
| Operating System: | ALL | ||||||||||||
| Participants: | |||||||||||||
| Case: | (copied to CRM) | ||||||||||||
| Description |
|
Initial sync uses a lookahead buffer, introduced in We should either reduce the default to a more reasonable number, or constrain the size of the buffer by the total size of all buffered documents. ------------------------- OLD DESCRIPTION BELOW ------------------- In the following example the oplog application phase used ~6 GB of memory. This can lead to OOM during initial sync.
In the above example "A" corresponds to the following:
The memory was allocated by this stack:
|