-
-
Notifications
You must be signed in to change notification settings - Fork 4.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
serve s3: uses too much memory on multipart uploads #7453
Comments
|
if it helps in s3m - https://github.com/s3m/s3m/ when reading from |
|
Seems to me that's an issue with the gofakes3 lib rclone is using. See at https://github.com/Mikubill/gofakes3/blob/master/uploader.go }` The body of a part is stored in memory. The suggestions that I can make is as rclone serve s3 is considering the root path as root of all buckets :
This could be done with an option to provide an existing path to VFS. BTW would be wise to integrate gofakes3 lib into rclone repo as it is not widely used / reviewed and could be an target of choice for a malicious actor. Missed sth : I can provide with a PR if this approach is ok for you. |
Yes it is.
This could be done very easily using
We have the problem then that we need to join the chunks back together when they are downloaded. This isn't impossible but it is quite a bit of extra work. A third option would be for backends which support OpenChunkWriter or OpenWriterAt to send the chunks directly to the backend. This was my original plan and would work very well with backends which support that, but not at all with other backends.
@Mikubill we discussed transferring the gofakes3 fork to the rclone organisation - would you still like to do that? If so let me know and I'll send you instructions.
Offer of a PR is great! I think we need to sort out the right approach and where gofakes3 is living first but yes - thank you. |
Agreed. Lets wait for @Mikubill answer first. |
When uploading multipart files
serve s3holds all the parts in memory. This is a documented limitaton of the library rclone uses for serving S3.How to use GitHub
The text was updated successfully, but these errors were encountered: