-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Storage Blob Async downloader ignores exceptions from chunks #14319
Comments
@ian-young-sydney Thanks |
Hi Ashish, I don't really have the time to create a fix for this. Also not sure what tests need to be updated for this as I think you need to ensure these chunk exceptions are caught. I think it's best to assign someone to make the fix. Thanks, |
@ian-young-sydney Thanks, |
@amishra-dev Is there any word on when this will be fixed? As I see it, this is a critical bug in a critical library. Downloading a file from Blob Storage is a pretty fundamental thing to be able to do. Right now I have no guarantee that the file I've downloaded is valid or not. |
Hi @ian-young-sydney! I will investigate this bug and will give you an update/PR as soon as possible. We're very sorry for the delay. |
Thanks @tasherif-msft . Let us know when there are any updates. |
Hi @ian-young-sydney, the fix has been merged and will be available in our next release :) |
Thanks @tasherif-msft . I can see the beta release out there and the code change looks fairly straight forward and low risk. I'm going to give that a test run. I think it will be obvious if the change is stable, but will take a couple of days of running to reproduce a similar exception. I'll let you know if I hit any problems. |
Package: azure-storage-blob
Version: 12.4.0
System: ubuntu-bionic-core-cloudimg-amd64 (container)
Python: 3.6
Describe the bug
I'm executing this code to simply download a file:
I'm expecting this to throw any exception is there is a problem during this process. 99.9% of the time it's perfectly fine, but after running the service using this code for days, I found that I'm getting the following exception:
The problem appears to be in this code: "azure/storage/blob/aio/_download_async.py"
For each of these calls to asyncio.wait() it should be check for exceptions like this:
The result() function needs to be called on each future to ensure that any exceptions are received and dealt with properly... It might be simpler using asyncio.gather() on the "done" tasks, but both should work
See the asyncio Futures documentation here:
https://docs.python.org/3/library/asyncio-future.html
and similar issues:
https://stackoverflow.com/questions/44048536/python3-get-result-from-async-method
To Reproduce
Sadly you have to run it for many hours to reproduce. You can manually raise an exception into the code to reproduce the problem
Expected behavior
I would have expected the exception to be raised so that I can capture and retry appropriately.
Additional context
None
The text was updated successfully, but these errors were encountered: