2018/08/24分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activestorage/CHANGELOG.md
Merge pull request #31696 from BrentWheeldon/bmw-connection-pool-load-deadlock
activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
の修正です。
connection poolからconnectionの取得待ちをする際に、スレッドがデッドロック状態になってしまうバグがあったのを修正しています。
Merge pull request #33681 from minaslater/replace-white-and-blacklist
各docやexampleコードでblacklist / whitelistという言葉を使用していたのを、permitted list / restricted listを使用するよう修正しています。
Master/slave -> primary/replicaと同様に、blacklist / whitelistも差別的な意味合いがある言葉の為、との事です。
参考:Replace use of whitelist with allowlist and blacklist with denylist
Handle only specifically relevant Azure HTTPErrors
activestorage/lib/active_storage/service/azure_storage_service.rb
の修正です。
Azure Storageで何かエラーがおきた際に、Azure::Core::Http::HTTPError
がraiseされたかどうかしかチェックしていなかったのを、errorのtypeまでチェックして、より厳密にエラーのチェックを行うよう修正しています。
azure-storage
gem では何かエラーがおきたら全てAzure::Core::Http::HTTPError
をraiseするようになっていて、エラーの詳細を確認したい場合は、typeを使う側がチェックする必要がある為。
が、テストがコケてしまったので、直後にrevertしています。
Revert "Merge pull request #33667 from cbothner/azure-service-swallowing-all-errors"
という訳で、直前のコミットをrevertしています。
Handle only specifically relevant Azure HTTPErrors
activestorage/lib/active_storage/service/azure_storage_service.rb
の修正です。
先ほどRevertされたAzure Storageのエラーハンドリングのリトライです。
ActiveStorage::Service::AzureStorageService#upload
メソッドで、Azure Storageで何かエラーがおきた際にActiveStorage::IntegrityError
を必ずraiseするようになっていたのを、blobが見つからなかった場合はActiveStorage::FileNotFoundError
をraiseするよう修正。及び、ActiveStorage::Service::AzureStorageService#delete
メソッドで、Azure Storageで何かエラーがおきた際にエラーを無視していたのを、blobが見つからなかった以外のエラーの場合は、エラーをそのままraiseするよう修正しています。