-
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
Add config variables for changing S3 runtime values #1122
Closed
Closed
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
fb51db1
Cleanup code formatting
jamesls 60f7377
Remove unused method
jamesls ab7ba1a
Remove session dep from CommandParameters
jamesls e9fdaf7
Remove trailing/leading whitespace
jamesls 2e3477d
Move part size constants out to their respective modules
jamesls 9ba4d38
Move constants to transferconfig
jamesls 697662b
Add class for merging converting s3 runtime config
jamesls db24830
Plumb through S3 runtime config
jamesls d83bfc4
Fix s3 streaming test for memory utilization
jamesls 31260e1
Add test for --force option that was moved
jamesls 57f4937
Fix typo in doc string
jamesls 4d44ce6
Support IEC suffix for sizes
jamesls File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be
Because the main thread is acting as a producer by calling the
ListObjects
operation.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After initially implementing that, I ended up making this just match the number of threads. The main reason is that if we do add
max - 1
, then the minimum value needs to be2
, which I think would confuse customers. It's also not intuitive that you can't set this value to 1. If a user wants to "turn off" parallelism, you'd think you'd setmax_concurrent_requests
to 1, but they would need to set max_concurrent_requests to2
. I could see us getting questions about that.Another option is to rename this to be more explicit. If we called it
max_transfer_requests
maybe that would clear up what this is doing. Although I thinkmax_concurrent_requests
is more clear thanmax_transfer_threads
. What do you think?Or another option would be to be clear in our documentation what this means. It's the number of concurrent requests uploading/downloading/copying to s3. It does not include any ListObjects calls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I like that last option the best. If I had no knowledge of the internals of the s3 commands, I would also find it confusing that the lowest that you can make it is 2. I do not like
max_transfer_requests
because it is ambiguous (it seems to imply that we will at most do that maximum amount of transfers for the one command).