-
-
Notifications
You must be signed in to change notification settings - Fork 178
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
Out of memory while downloading large files #55
Comments
Are you pulling the file over http or ftp? |
Ah, sorry I left that out. This is a HTTP Basic Auth pull. |
Looking a bit at the code, this looks like an issue in the faraday library. However I dont see an issue on the faraday bug tracker for it. I'll try to find some time to bang on it today. |
Thanks for looking into this. Other potentially important information. |
I am able to reproduce the problem at least. |
In this case might as well swap out faraday with net/http and eliminate a dependency. I'll take a crack at it over next few days. |
@nanliu do you think its in faraday? Is the typical pattern in puppet to hold in ram before file flushing? I'm just not experienced enough to know. |
I thought this was one of things I verified early on, but clearly missed it when evaluating faraday. Per their roadmap: https://github.com/lostisland/faraday/wiki/Roadmap and open PR: lostisland/faraday#156, I don't think we are able to do streaming with faraday. net/http will require some code to handle http errorcodes and redirect, but will support streaming. |
Since it looks like the Faraday PR is stalled, should we move to net/http or similar? |
Yes, we should switch to net/http as default provider. |
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem.
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
* Fix voxpupuliGH-55 large file memory issue. * Remove puppet agent dependency on Faraday gem. * make ruby default provider for windows. * migrate functions away from faraday. * change target release to 0.5.0
While trying to download a large .zip file (1.3GB) in a test VM with 512MB of RAM the only output I got from the puppet run was
Killed
. I increased the VM RAM incrementally and gotError: Could not run: failed to allocate memory
until I had increased the RAM to 2GB, i.e. the file could be stored in RAM as a whole until flushed to disk.Is this a known unfixable issue? Or an issue with the provider implementation? Or is there some workaround that can be applied?
The text was updated successfully, but these errors were encountered: