-
Notifications
You must be signed in to change notification settings - Fork 608
Configurable executor limit for download/upload tasks on FirebaseStorage #4445
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
base: main
Are you sure you want to change the base?
Conversation
This would be great to have. Uploading a significant number of images through Firebase Storage on Android is quite slow compared to iOS. Nice work @GabrielAraujo ! |
Hey! @vkryachko if you have time, would you mind taking a look at this one? |
I am afraid this change is not compatible with the current effort to migrate all SDKs to a common set of executors. So if this feature request gets approved, there will need to be a different way to limit concurrency without modifying the underlying executors, since common executors are "unconfigurable" cc @maneesht |
@vkryachko @maneesht Hey, suggestions on next steps for this? |
@GabrielAraujo Step 1 would be to migrate storage to executors, then we can use something like #4459(which will have to be productionized and merged first). |
@vkryachko has Storage been migrated to executors at this point? |
cc @rlazo |
@jamesdixon yes, it was migrated in #4830 |
Right now this library only works with a limit of 2 threads for upload operations and 3 for download operations. With this limitation being fixed it can create problems for applications in which rely heavily on firebase storage for uploading/downloading a huge number of files at a time (Eg: 400+). This limitation in this scenario leads to a bad user experience when the users have to wait several minutes, even hours, and this is also a totally different experience that the iOS library provides too with more than 2/3 requests at a time.
The goal with this PR is to make it more configurable giving the developers the ability to manually adjust this limit on their applications if they want to!
Here are some threads related to this:
https://stackoverflow.com/questions/50917737/firebase-storage-limit-of-simultaneous-file-uploads-with-sdk
https://stackoverflow.com/questions/60163889/android-firebase-storage-sdk-maximum-parallel-uploads