-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] MTV-1699 Avoid potentially exceeding memory limit in multi-stage VDDK imports. #3559
base: main
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
Storing multiple QueryChangedDiskAreas results could potentially exceed importer pod memory limits, so rework the code to iterate over one result at a time. Signed-off-by: Matthew Arnold <[email protected]>
There is no longer an easily-accessible list of changed blocks to check, so these tests need to let TransferFile run and mock everything that does. Signed-off-by: Matthew Arnold <[email protected]>
MockableStat is a stronger signal for something unusual. Signed-off-by: Matthew Arnold <[email protected]>
Signed-off-by: Matthew Arnold <[email protected]>
Signed-off-by: Matthew Arnold <[email protected]>
This block was preventing the actual data copy in some situations, when it only really needs to avoid the next call to QueryChangedDiskAreas. Move it after the copy. Signed-off-by: Matthew Arnold <[email protected]>
28d3f0e
to
b9e949c
Compare
This is mostly cosmetic as the importer pod isn't going to be able to transfer anything anyway, but an error message is nicer than a panic. Signed-off-by: Matthew Arnold <[email protected]>
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What this PR does / why we need it:
From this conversation, this pull request avoids storing all results from QueryChangedDiskAreas during a VDDK warm migration. A disk with a lot of small evenly-spaced changes could get the importer to create a huge list, which might exceed the pod's memory limit. This change iterates over one result from QueryChangedDiskAreas at a time, which so far seems to be limited to 2000 changed extent entries.
Which issue(s) this PR fixes:
Fixes MTV-1699
Special notes for your reviewer:
This is a draft for now while I get this tested more thoroughly.
Release note: