-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Handle only specifically relevant Azure HTTPErrors in ActiveStorage::Service::AzureStorageService #33667
Handle only specifically relevant Azure HTTPErrors in ActiveStorage::Service::AzureStorageService #33667
Conversation
Thanks for the pull request, and welcome! The Rails team is excited to review your changes, and you should hear from @rafaelfranca (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. This repository is being automatically checked for code quality issues using Code Climate. You can see results for this analysis in the PR status below. Newly introduced issues should be fixed before a Pull Request is considered ready to review. Please see the contribution instructions for more information. |
89d8062
to
077f4ae
Compare
Can you please rebase this against master? |
The Azure gem uses `Azure::Core::Http::HTTPError` for everything: checksum mismatch, missing object, network unavailable, and many more. (https://www.rubydoc.info/github/yaxia/azure-storage-ruby/Azure/Core/Http/HTTPError). Rescuing that class obscures all sorts of configuration errors. We should check the type of error in those rescue blocks, and reraise when needed.
077f4ae
to
6acf2fa
Compare
👍 I also went ahead and made some changes to be consistent with the merged version of #33666. |
Thank you! |
Sorry, I had to revert this because the Azure Storage service tests failed in master. It’s my fault for forgetting that those tests don’t run for PRs. It looks like /cc two frequent committers to Azure/azure-ruby-asm-core: @katmsft @yaxia |
That is very strange. I did make an Azure account and ran the tests on my machine before submitting the PR… but I guess I made other changes afterwards and forgot. My apologies for the oversight. Turning individual changes on and off:
It seems that the error types are less consistent from Azure than I had thought. I do think it would be ideal if the Azure gem set Let me know how you’d like to proceed and I’ll resubmit as needed. |
If you don’t mind, please open a new PR with the |
The Azure gem uses
Azure::Core::Http::HTTPError
for everything:checksum mismatch, missing object, network unavailable, and many more
(https://www.rubydoc.info/github/yaxia/azure-storage-ruby/Azure/Core/Http/HTTPError).
Rescuing that class obscures all sorts of configuration errors. We
should check the type of error in those rescue blocks, and reraise when
needed.