dropbox: use much less memory when uploading small files - fixes #9685
Since batch mode became the default all uploads go through uploadChunked, which allocated a full chunk-size retry buffer (48 MiB by default) regardless of the file size. With the `--transfers 32` recommended for small file uploads that is ~1.5 GiB of buffer to upload tiny files. Size the buffer to the file size when it is known and smaller than a chunk.
This commit is contained in:
@@ -2042,7 +2042,11 @@ func (o *Object) uploadChunked(ctx context.Context, in0 io.Reader, commitInfo *f
|
||||
|
||||
// write chunks
|
||||
in := readers.NewCountingReader(in0)
|
||||
buf := make([]byte, int(chunkSize))
|
||||
bufSize := chunkSize
|
||||
if size >= 0 && size < bufSize {
|
||||
bufSize = size
|
||||
}
|
||||
buf := make([]byte, int(bufSize))
|
||||
cursor := files.UploadSessionCursor{
|
||||
SessionId: res.SessionId,
|
||||
Offset: 0,
|
||||
|
||||
Reference in New Issue
Block a user