-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
High memory usage from S3::Object#get in aws-sdk-core 3.21.0 #1786
Comments
Thanks for reporting this, I can see where this would be happening. We'll be working on this today. |
The |
We've confirmed that #1787 resolves the object space size explosion, and we're intending to release it today. Should be released as aws-sdk-core |
New release is out. Feel free to reopen if you continue to see this after upgrading, thanks! |
Thanks for the fast response @awood45 and @cjyclaire! Confirmed with a few tests that memory usage is back to normal on 3.21.1. |
Issue description
Between aws-sdk-core 3.20.0 and 3.21.0, the memory usage when using
Aws::S3::Object#get
appears to have increased when downloading (streaming) large files, resulting in running out of memory for multi-GB files.It looks like
@raw_stream
in 571c2d0#diff-b34bc111f15a632c8dc7fe14d71bdd66R71 inSeahorse::Client::Http::Response
is continually being appended to even between multiple ranged GET requests for the object. Commenting this out seems to lower the memory usage again.Gem name ('aws-sdk', 'aws-sdk-resources' or service gems like 'aws-sdk-s3') and its version
Version of Ruby, OS environment
Ruby 2.4.3, Linux x86_64.
Code snippets / steps to reproduce
419MB file output
With aws-sdk-core 3.21.0:
and with 3.20.0, the RSS is ~400MB lower and total object size over 800MB lower:
4GB file output
3.21.0 resulted in an RSS of nearly 5GB:
3.20.0 is low:
The text was updated successfully, but these errors were encountered: