-
Notifications
You must be signed in to change notification settings - Fork 159
feat: Adding support of single shot download #1493
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
feat: Adding support of single shot download #1493
Conversation
@shubham-up-47 Please add unit tests. |
Done. |
Done. Noted. |
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.
Design question: why put this behind an opt-in flag? Is there a non backwards compatible change that you're concerned about? Or is the flag temporary?
This requires a customer to take an extra step in order to benefit from the performance optimization.
We wanted to keep the existing flow as it is and add the support of single_shot_download, that's why keeping its default value as False currently. Later if everything works fine, then we will make the default value of single_shot_download flag as true. |
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.
Left a few questions. Please also add system tests under TestRawDownload as well, thanks!
:param single_shot_download: | ||
(Optional) If true, download the object in a single request. | ||
Caution: Enabling this will increase the memory overload for your application. | ||
Please enable this as per your use case. |
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.
Thanks for adding the note on memory consumption.
Based on the design doc, I understand we are introducing single shot download support in multiple phases. Note that if and when we want to have single_shot_download
defaulted to True, that would be a breaking change and would require a major version bump, so something to keep in mind when planning for next version changes
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.
@cojenco how is that a breaking change?
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.
Sure @cojenco, will keep these things in mind.
Done, Actually TestRawDownload is inheriting the TestDownload class, that's why all the tests written in the TestDownload class are automatically running for the TestRawDownload class. |
Adding the support of single shot download using a boolean flag.
Some results using the script in the customer issue,
Download
speed withsingle_shot_download=false
(default value) = 123 MB / secDownload
speed withsingle_shot_download=true
= 273 MB / secRawDownload
speed withsingle_shot_download=false
(default value) = 131 MB / secRawDownload
speed withsingle_shot_download=true
= 289 MB / sec