Open Vandersteen opened 4 years ago
Hi @Vandersteen
Sorry for the late response, due to the holiday.
For your questions:
OperationTimedOut
or 500
error code means something wrong with Azure Storage service. SDK cannot do much in this case, besides making sure retry policy is enabled.
SSL error code 35
means "A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others." https://curl.haxx.se/libcurl/c/libcurl-errors.html
If the SSL error keeps happening for every request, it means some thing wrong with the SDK cert or security configuration.
If the SSL error randomly happens, it means the secure network connection cannot established in Open SSL layer which beyond SDK's control. It's difficulty to debug, you try to use HTTP endpoint to see the error gone or not.
OperationTimedOut
or500
error code means something wrong with Azure Storage service. SDK cannot do much in this case, besides making sure retry policy is enabled.
Is it enabled by default ?
- SSL error code
35
means "A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others." https://curl.haxx.se/libcurl/c/libcurl-errors.htmlIf the SSL error keeps happening for every request, it means some thing wrong with the SDK cert or security configuration.
If the SSL error randomly happens, it means the secure network connection cannot established in Open SSL layer which beyond SDK's control. It's difficulty to debug, you try to use HTTP endpoint to see the error gone or not.
Should I write custom middleware to enable CURLOPT_ERRORBUFFER ?
I see the same problem using the C# stuff. We get bursts of SSL connection errors and the request shows as Faulted in app insights.
Feel free to customize middlewares to do what you want, but not sure CURLOPT_ERRORBUFFER will help in this case.
SDK doesn't enforce retry by default, need to manually initialize retry middleware instance.
@spelltwister Curious any limitations from SSL connection from Azure.
I want to confirm that adding retries did help with the amount of errors we received. It is not fully gone but it did help.
The blob service seems unreliable, it fails quite often. We are dealing with files ranging between 1-10mb.
Our environment is an AKS cluster (CNI). Running in a Vnet where the Microsoft.Storage Service endpoint has been added
Now strangely, these same kind of errors sometimes also occur for other azure services (Like mysql). But blob has the most issues with it.
Which service(blob, file, queue, table) does this issue concern?
Blob
Which version of the SDK was used?
1.4
What's the PHP/OS version?
7.3 / Debian
What problem was encountered?
Steps to reproduce the issue?
Upload a blob?
Have you found a mitigation/solution?
No
Is there a failing request ID related to this problem returned by server? What is it?
RequestId:d6c7bd63-601e-00b1-5ae9-d43fbe000000 Time:2020-01-27T08:16:33.1239417Z
RequestId:c1e17fad-901e-0063-382e-c181e6000000 Time:2020-01-02T05:39:04.4147653Z
RequestId:85dad7d7-e01e-00c6-761d-b6baff000000 Time:2019-12-19T03:39:27.0651824Z
What is the storage account name and time frame of your last reproduce? (UTC YYYY/MM/DD hh:mm:ss)
(If you think some of the information should not be shared publicly, you can e-mail the main Microsoft contributors of the repository instead.)