Skip to content
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

storage-users high memory usage when S3ng multipart uploads are enabled #10398

Open
wkloucek opened this issue Oct 23, 2024 · 6 comments
Open

Comments

@wkloucek
Copy link
Contributor

wkloucek commented Oct 23, 2024

Originally posted by @butonic in #8589 (comment)

so now I see the storageusers pods being OOM killed as described in #9656 (comment)

I currently think we are running into kubernetes/kubernetes#43916 (comment)

edit: @wkloucek pointed out that we have to disable mime multipart uploads because it allocates too much memory

@wkloucek wkloucek changed the title storage-users high memory using when using S3ng storage-users high memory using when using S3ng multipart uploads Oct 23, 2024
@wkloucek
Copy link
Contributor Author

I created this separate issue to put more attention to the high memory usage of the S3ng multipart upload.

@wkloucek
Copy link
Contributor Author

Background on the used library: minio/minio-go#1496

@wkloucek wkloucek changed the title storage-users high memory using when using S3ng multipart uploads storage-users high memory usage when S3ng multipart uploads are enabled Oct 23, 2024
@wkloucek
Copy link
Contributor Author

Also tracked in https://kiteworks.atlassian.net/browse/OCSRE-100

@micbar
Copy link
Contributor

micbar commented Oct 23, 2024

@wkloucek Is this a blocker? This has not changed between ocis 5 and ocis 7

@wkloucek
Copy link
Contributor Author

wkloucek commented Oct 24, 2024

@wkloucek Is this a blocker? This has not changed between ocis 5 and ocis 7

Yes, still it got some visibility during the last month, so priorities might change at some point. I added it to Would be nice: on the release blockers ticket for some additional visibility, but I'm also fine with removing it again.

@micbar
Copy link
Contributor

micbar commented Oct 24, 2024

As far as i remember, the issue is quite tricky:

  1. When using multipart uploads the bucket policy requires the S3 client to send checksums for each part
  2. In order to calculate the checksums of the part (ocis knows the checksum of the whole file), the client needs a buffer to calculate this checksum
  3. That means, we will need significantly more memory when doing multipart uploads. It depends a bit on the sizes of the parts and how many are uploaded in parallel. (see upstream discussion for optimisation), but in general we cannot avoid that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Qualification
Development

No branches or pull requests

2 participants