You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The docs for s3manager.Uploader are unclear that the Concurrency field is a limit on the number of goroutines to spin up per invocation of the Uploader.Upload* methods as opposed to a total number of goroutines the uploader will spin up. Since the option is set on the Uploader structure which is safe to use across multiple concurrent goroutines,
It is safe to call Upload() on this structure for multiple objects and across concurrent goroutines.
I would expect the Concurrency field to be a total limit on number of goroutines the uploader creates even if Upload* is called more than once concurrently. Is this just unclear documentation or a bug in the implementation? Even if the current behavior is expected it would be helpful to update the docs to be clear, although I think the Concurrency field is much less useful if it is a per invocation limit.
Steps to reproduce
Easy to see that this is how the uploader is implemented
Little program to show the number of goroutines started by concurrent calls to Upload
Hello @jlburkhead, thank you for reaching out to us. The documentation is a little unclear and it should be stated that the max concurrent goroutines is per invocation. I will go ahead and add this in the backlog to better document that.
…1521)
Clarifies the S3 Upload Managers concurrency configuration is per call
to Upload, not shared across the instance of the Upload manager.
Fix#1458
Version of AWS SDK for Go?
v1.10.20
Version of Go (
go version
)?go1.8.3
What issue did you see?
The docs for s3manager.Uploader are unclear that the Concurrency field is a limit on the number of goroutines to spin up per invocation of the
Uploader.Upload*
methods as opposed to a total number of goroutines the uploader will spin up. Since the option is set on theUploader
structure which is safe to use across multiple concurrent goroutines,I would expect the Concurrency field to be a total limit on number of goroutines the uploader creates even if
Upload*
is called more than once concurrently. Is this just unclear documentation or a bug in the implementation? Even if the current behavior is expected it would be helpful to update the docs to be clear, although I think the Concurrency field is much less useful if it is a per invocation limit.Steps to reproduce
Easy to see that this is how the uploader is implemented
Little program to show the number of goroutines started by concurrent calls to Upload
The text was updated successfully, but these errors were encountered: