Is there any configuration to do throttling for concurrent blob downloads?[QUERY]
See original GitHub issueQuery/Question
Hi SDK team, our project is using Azure blob as file storage, and we will store plenty of zip files, about size of around 50M. As some background from my expriements, I know the blob SDK is backed by reactor netty, and if I issue concurrent downloads for the 50M files, netty will consume pretty direct memory, causing memory fault once exceeded the JVM direct memory limit. This is not what we want. So I wonder if I have no mean to bypass the netty direct memory limitation(ideal way would be the socket bytes streamed to local file directly without help of memory), is there any configuration or parameter to do throttling ? Like,
- I know the direct memory limit and blob file size, I can guess the concurrent download requests upper limit.
- I can set the configuration with the guessing limit.
- When the limit reaches, following downloads will be waiting or just fail directly.
To be some supplement, BlobClient.downloadWithResponse()
will be called concurrently in my case.
Why is this not a Bug or a feature Request?
I don’t know whether the direct memory outage should be one bug or not, but I am not sure whether the throttling config exists or not, this is one question rather than FR.
Setup (please complete the following information if applicable)😗*
- OS: Windows 10 pro, 1809 build
- IDE : IntelliJ 2019.3
- Version of the Library used: 12.0.0
Issue Analytics
- State:
- Created 4 years ago
- Comments:7 (6 by maintainers)
@anuchandy can you please follow up on the reactor-netty toggle specific portion of this question and ensure any toggles also get documented in the java repo’s wiki?
I am going to close this issue as I believe all parts of the question have been addressed and it has been inactive for a while. Please feel free to reopen if there are more questions.