throw explicit 503 when server is busy to process BlobStorage request so client can retry
We see Storage API starts to responds with 500 when system is under heavy ingestion for very few requests. On closer look, we found that BlobStorage is throttled and underlaying error message is following:
AppException(error=AppError(code=500, reason=Failed to read specified blob, message=Status code 503, "ServerBusy
The server is busy._RequestId:82895e12-701e-0066-26d3-b568b7000000_Time:2021-09-30T08:13:49.5116925Z", errors=null, debuggingInfo=null, originalException=com.azure.storage.blob.models.BlobStorageException: Status code 503, "ServerBusy
The server is busy.
RequestId:82895e12-701e-0066-26d3-b568b7000000
Time:2021-09-30T08:13:49.5116925Z"), originalException=com.azure.storage.blob.models.BlobStorageException: Status code 503, "ServerBusy
The server is busy.
RequestId:82895e12-701e-0066-26d3-b568b7000000
Time:2021-09-30T08:13:49.5116925Z")
With this change, client can retry based of response code.