googleapis / google-api-ruby-client

REST client for Google APIs
Apache License 2.0
2.77k stars 869 forks source link

Add `Errno::ECONNRESET` to retriable network errors #18902

Open mzuzek opened 2 months ago

mzuzek commented 2 months ago

Would it make sense to also include Errno::ECONNRESET (broken network connections) in RETRIABLE_ERRORS ? (via Google::Apis::TransmissionError - same like ECONNREFUSED and ETIMEDOUT in https://github.com/googleapis/google-api-ruby-client/pull/10026)

I've hit that recently in context of GCS file downloads on Windows Server 2019 Datacenter 10.0.17763, Ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x64-mingw32] and google-apis-core 0.9.3.

mzuzek commented 1 month ago

@dazuma @bajajneha27 @NivedhaSenthil @SandeepTuniki

Would you see any reason why Errno::ECONNRESET should not be made retriable ?

dazuma commented 1 month ago

I think this makes sense, and is in line with the Storage error strategy currently being worked on internally. We should add it here: https://github.com/googleapis/google-api-ruby-client/blob/main/google-apis-core/lib/google/apis/core/http_command.rb#L295

mzuzek commented 1 month ago

Thank you @dazuma for your feedback on this issue.