-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
File corruption issue when downloading very large blobs #10298
Comments
Which version of AzCopy do you use? Would you please run it with following command and see if any error happens , if the file still not download correctly? Is it possible that the $DownloadError is overwritten by other command? Besides that , do you mind to share the source file URI and download time, so I can see the server log to investigate it. |
AzCopy works fine (v10.2.1), but the script uses Get-AzStorageBlobContent and that's where the problem is. Yes, this now consistently fails after running successfully for a few months. We know the download is corrupt (and NEVER successfully downloads anymore) because I've tried this manually - the script does an MD5 verification against the file. I also manually downloaded the file via Get-AzStorageBlobContent and another copy via AzCopy and did a file comparison while trying to fix this. I don't believe there is any other place where $DownloadError would be changed. This download is wrapped in a do...while to automatically attempt 1 retry on the download. We push this info into a log and into Slack.
Is there a way I can pull the server log for this vs. sharing the URL? |
@paulmrozowski And I don't see you add "-Force" parameter to "Get-AzStorageBlobContent". If so, retry will get a pops up to ask for overwrite the existing file, and the script can't be run with none interactive. Could you please share the real script you run for "# Code to download file here", please hide any credential? And for the server log, if you can give the account name, container name, blob name, and the repro time, I can search the server log. If you can't past it here, you can send to my mail [email protected]. |
This is the full method. We delete the file in the real code before the retry.
|
Will follow up by mail, and update the issue later. |
Discussed with @paulmrozowski in mail:
So we will close the issue now. |
Thanks for working with Microsoft on GitHub! Tell us how you feel about your experience using the reactions on this comment. |
Description
We are using Get-AzStorageBlobContent in a Powershell script. It seemed to work consistently well for a while but now that one of the blobs we download is over approx 95GB we are seeing that the file downloaded is corrupt - it appears that around #16 3300 000 (hex) suddenly the file is just filled with 00 values. We don't see any errors in $DownloadError after it completes. As far as it's concerned, it was successful.
If we manually download the file using AzCopy instead, it downloads successfully.
Steps to reproduce
Environment data
Module versions
Debug output
This didn't show anything beyond "Yep, starting 20 remote calls", then "Finished 20 remote calls" along with an operation ID. No errors.
Error output
This is not generating any errors.
The text was updated successfully, but these errors were encountered: